الصفحة الرئيسية » howto » كيفية تعديل قرصك الصلب في Ubuntu للحصول على أداء أفضل

    كيفية تعديل قرصك الصلب في Ubuntu للحصول على أداء أفضل

    هناك الكثير من النصائح لإدخال تعديلات على SSD في لينكس والكثير من التقارير القصصية حول ما ينجح وما لا يصلح. ركضنا معاييرنا الخاصة مع بعض التعديلات المحدّدة لإظهار الفرق الحقيقي.

    المعايير

    لقياس قرصنا ، استخدمنا Phoronix Test Suite. إنها مجانية ولديها مستودع لأوبونتو حتى لا تضطر إلى تجميع من الصفر لتشغيل اختبارات سريعة. اختبرنا نظامنا مباشرة بعد تثبيت جديد لـ Ubuntu Natty 64-bit باستخدام المعلمات الافتراضية لنظام الملفات ext4.

    كانت مواصفات النظام لدينا على النحو التالي:

    • أيه إم دي فينوم الثاني رباعي النواة 3.2 غيغاهرتز
    • MSI 760GM E51 اللوحة
    • 3.5 غيغابايت من ذاكرة الوصول العشوائي
    • أيه إم دي راديون 3000 مدمجة مع 512 ميجابايت من ذاكرة الوصول العشوائي
    • أوبونتو ناتي

    وبطبيعة الحال ، كان محرك الأقراص SSD الذي قمنا باختباره محرك أقراص OCZ Onyx سعة 64 جيجابايت ($ 117 على موقع Amazon.com وقت كتابة هذا التقرير).

    ابرز القرص

    هناك عدد غير قليل من التغييرات التي يوصي بها الأشخاص عند الترقية إلى SSD. بعد تصفية بعض الأشياء القديمة ، قمنا بعمل قائمة قصيرة من التعديلات التي لم تتضمنها توزيعات Linux كإعدادات افتراضية لـ SSD. ثلاثة منهم ينطوي على تحرير ملف fstab الخاص بك ، حتى يعود ذلك قبل المتابعة مع الأمر التالي:

    sudo cp / etc / fstab /etc/fstab.bak

    إذا حدث خطأ ما ، يمكنك دائمًا حذف ملف fstab الجديد واستبداله بنسخة من النسخة الاحتياطية. إذا كنت لا تعرف ما هو هذا أو تريد أن تفكر كيف يعمل ، ألقِ نظرة على HTG يوضح: ما هو نظام لينكس وكيف يعمل؟?

    تجنب الوصول تايمز

    يمكنك المساعدة في زيادة عمر SSD الخاص بك عن طريق تقليل مدى كتابة نظام التشغيل على القرص. إذا كنت بحاجة إلى معرفة متى تم الوصول إلى كل ملف أو دليل آخر ، يمكنك إضافة هذين الخيارين إلى ملف / etc / fstab:

    noatime، nodiratime

    أضفها مع الخيارات الأخرى ، وتأكد من أنها مفصولة بفواصل بدون مسافات.

    تمكين TRIM

    يمكنك تمكين TRIM للمساعدة في إدارة أداء القرص على المدى الطويل. أضف الخيار التالي لملف fstab الخاص بك:

    تجاهل

    هذا يعمل بشكل جيد لأنظمة الملفات ext4 ، حتى على محركات الأقراص الثابتة القياسية. يجب أن يكون لديك إصدار kernel لا يقل عن 2.6.33 أو أحدث؛ كنت مغطاة إذا كنت تستخدم Maverick أو Natty ، أو تم تمكين backports على Lucid. على الرغم من أن هذا لا يحسن بشكل محدد قياس الأداء الأولي ، إلا أنه يجب أن يجعل النظام يعمل بشكل أفضل على المدى الطويل وبالتالي جعلنا قائمتنا.

    Tmpfs

    يتم تخزين ذاكرة التخزين المؤقت للنظام في / tmp. يمكننا أن نطلب من fstab تركيب هذا في ذاكرة الوصول العشوائي كنظام ملفات مؤقت حتى يلمس النظام الخاص بك محرك الأقراص الصلبة أقل. أضف السطر التالي إلى أسفل ملفك / etc / fstab في سطر جديد:

    tmpfs / tmp tmpfs defaults ، noatime ، mode = 1777 0 0

    احفظ ملف fstab الخاص بك لارتكاب هذه التغييرات.

    تبديل IO المجدولين

    لا يقوم نظامك بكتابة كل التغييرات على القرص على الفور ، ويتم الحصول على قائمة الانتظار لطلبات متعددة. مجدول الإدخال والإخراج الافتراضي - cfq - يعالج هذا الأمر على ما يرام ، ولكن يمكننا تغيير ذلك إلى جهاز يعمل بشكل أفضل لأجهزتنا.

    أولاً ، قائمة الخيارات المتاحة لديك باستخدام الأمر التالي ، استبدال "X" بحرف محرك الأقراص الجذر الخاص بك:

    cat / sys / block / sdX / queue / scheduler

    التثبيت الخاص بي على sda. يجب أن ترى بعض الخيارات المختلفة.

    إذا كان لديك موعد نهائي ، يجب عليك استخدام ذلك ، لأنه يمنحك مزيدًا من التعديل الإضافي لأسفل. إذا لم يكن الأمر كذلك ، فيجب أن تكون قادرًا على استخدام الجهاز بدون مشاكل. نحن بحاجة إلى إخبار نظام التشغيل باستخدام هذه الخيارات بعد كل تمهيد لذا سنحتاج إلى تحرير ملف rc.local.

    سنستخدم نانو ، لأننا مرتاحون مع سطر الأوامر ، ولكن يمكنك استخدام أي محرر نصوص آخر تعجبك (gedit، vim، etc.).

    sudo nano /etc/rc.local

    أعلى السطر "exit 0" ، أضف هذين السطرين إذا كنت تستخدم الموعد النهائي:

    صدى الموعد النهائي> / SYS / كتلة / SDX / طابور / جدولة

    echo 1> / sys / block / sdX / queue / iosched / fifo_batch

    إذا كنت تستخدم Noop ، فأضف هذا السطر:

    echo noop> / sys / block / sdX / queue / scheduler

    مرة أخرى ، استبدل "X" بحرف محرك الأقراص المناسب للتثبيت. انظر على كل شيء للتأكد من أنها تبدو جيدة.

    ثم ، اضغط CTRL + O للحفظ ، ثم CTRL + X لإنهاء.

    إعادة بدء

    لكي تدخل جميع هذه التغييرات حيز التنفيذ ، يجب عليك إعادة التشغيل. بعد ذلك ، يجب أن تكون كل مجموعة. إذا حدث خطأ ما ولا يمكنك التمهيد ، يمكنك التراجع بشكل منهجي عن كل الخطوات المذكورة أعلاه حتى تتمكن من التمهيد مرة أخرى. يمكنك حتى استخدام قرص حي أو LiveUSB للتعافي إذا كنت تريد.

    ستحمل تغييرات fstab الخاصة بك خلال فترة التثبيت ، حتى مع تحمل ترقيات ، ولكن يجب إعادة إنشاء تغيير rc.local الخاص بك بعد كل ترقية (بين الإصدارات).

    نتائج المقارنة

    لتنفيذ المعايير ، ركضنا مجموعة اختبارات الأقراص. الصورة العليا لكل اختبار هي قبل التغيير والتبديل في تكوين ext4 ، والصورة السفلية هي بعد القرص وإعادة التشغيل. سترى شرحًا موجزًا ​​لما يقيسه الاختبار بالإضافة إلى تفسير النتائج.

    عمليات ملف كبيرة

    يضغط هذا الاختبار على ملف 2 جيجابايت مع بيانات عشوائية ويكتبه على القرص. يظهر القرص SSD هنا في تحسين ما يقرب من 40 ٪.

    يحاكي IOzone أداء نظام الملفات ، في هذه الحالة عن طريق كتابة ملف 8GB. مرة أخرى ، ما يقرب من 50 ٪ زيادة.

    هنا ، تتم قراءة ملف 8GB. النتائج هي نفسها تقريبا دون ضبط ext4.

    تختبر AIO-Stress المدخلات والمخرجات بشكل غير متزامن ، باستخدام ملف اختبار 2GB وحجم سجل 64 كيلوبايت. هنا ، هناك ما يقرب من 200 ٪ زيادة في الأداء مقارنة مع ext1 الفانيليا!

    عمليات الملفات الصغيرة

    يتم إنشاء قاعدة بيانات SQLite وتضيف PTS 12،500 السجلات إليه. لقد قام القرص الصلب SSD هنا بإبطاء الأداء بنسبة 10٪ تقريبًا.

    اختبار Apache Benchmark يقرأ عشوائيًا للملفات الصغيرة. كان هناك حوالي 25٪ زيادة في الأداء بعد تحسين SSD لدينا.

    يحاكي PostMark 25000 ملف المعاملات ، 500 في وقت واحد في أي وقت ، مع أحجام الملفات بين 5 و 512 كيلوبايت. هذا يحاكي خوادم الويب والبريد بشكل جيد ، ونحن نرى زيادة في الأداء بنسبة 16٪ بعد التغيير والتبديل.

    ينظر FS-Mark في 1000 ملف بحجم إجمالي يبلغ 1 ميغابايت ، ويقيس عدد الملفات التي يمكن كتابتها بالكامل وقراءتها في فترة زمنية محددة. يرى القرص لدينا زيادة ، مرة أخرى ، مع أحجام ملفات أصغر. حول زيادة 45 ٪ مع تعديلات ext4.

    ملف نظام الوصول

    يستدعي نظام ملفات اختبار قاعدة بيانات Dbench من قبل العملاء ، نوعًا ما مثل كيفية قيام Samba بأشياء. هنا ، يتم خفض أداء فانيلا ext4 بنسبة 75 ٪ ، وهو نكسة رئيسية في التغييرات التي قمنا بها.

    يمكنك أن ترى أنه مع ارتفاع عدد العملاء ، يزداد الفرق في الأداء.

    مع 48 عميلاً ، أغلقت الفجوة نوعًا ما بين الاثنين ، ولكن لا يزال هناك فقدان واضح جدًا للأداء من خلال تعديلاتنا.

    مع 128 عميل ، فإن الأداء هو نفسه تقريبا. يمكنك أن تفكر في أن تعديلاتنا قد لا تكون مثالية للاستخدام المنزلي في هذا النوع من العمليات ، ولكنها ستوفر أداءً مقارنًا عندما يزداد عدد العملاء بشكل كبير.

    يعتمد هذا الاختبار على مكتبة الوصول AIO لـ kernel. لدينا تحسن 20 ٪ هنا.

    هنا ، لدينا قراءة عشوائية متعددة الخيوط بسعة 64 ميجابايت ، وهناك زيادة بنسبة 200٪ في الأداء هنا! رائع!

    أثناء كتابة 64 ميغابايت من البيانات مع 32 سلسلة ، ما زال لدينا 75٪ زيادة في الأداء.

    يحاكي Compile Bench تأثير العمر على نظام الملفات كما هو موضح في التلاعب بأشجار النواة (إنشاء وترجمة وتصحيح ، وما إلى ذلك). هنا ، يمكنك أن ترى فائدة كبيرة من خلال الإنشاء الأولي للنواة المحاكاة ، حوالي 40٪.

    هذه المقاييس ببساطة يقيس كم من الوقت يستغرق لاستخراج نواة لينكس. ليس الكثير من الزيادة في الأداء هنا.

    ملخص

    إن التعديلات التي أجريناها على تكوين نظام ext4 الخاص بـ Ubuntu لم يكن لها تأثير كبير. أكبر المكاسب في الأداء كانت في مجالات الكتابة والقراءات متعددة الخيوط ، وقراءة الملفات الصغيرة ، وقراءة الملفات الكبيرة والكتابات القريبة. في الواقع ، كان المكان الحقيقي الوحيد الذي شهدنا فيه نجاحًا في الأداء هو إجراء مكالمات نظام ملفات بسيطة ، وهو أمر يجب على مستخدمي سامبا التنبه إليه. بشكل عام ، يبدو أن هناك زيادة قوية في الأداء لأشياء مثل استضافة صفحات الويب ومشاهدة / بث مقاطع فيديو كبيرة.

    ضع في اعتبارك أن هذا كان على وجه التحديد مع Ubuntu Natty 64 بت. إذا كان نظامك أو SSD مختلفًا ، فقد تختلف المسافة المقطوعة. بشكل عام ، يبدو كما لو أن تعديلات جدولة FSTB و IO التي قطعناها على أنفسنا تقطع شوطا طويلا إلى أداء أفضل ، لذلك ربما يستحق المحاولة على جهاز الحفر الخاص بك.

    هل لديك المعايير الخاصة بك وترغب في مشاركة النتائج الخاصة بك؟ هل لديك قرص آخر لا نعرف عنه؟ صوت في التعليقات!