سؤال

لنفترض ، أردت تطوير موقع مكدس Overflow. كيف يمكنني تقدير مقدار أجهزة السلعة المطلوبة لدعم هذا الموقع على افتراض مليون طلب يوميًا. هل هناك أي دراسات حالة تفسر تحسينات الأداء في هذا الموقف؟

أعلم أن عنق الزجاجة I/O هو عنق الزجاجة الرئيسي في معظم الأنظمة. ما هي الخيارات الممكنة لتحسين أداء I/O؟ قلة منهم أعرفها

  1. التخزين المؤقت
  2. تكرار
هل كانت مفيدة؟

المحلول

يمكنك تحسين أداء I/O بعدة طرق اعتمادًا على ما تستخدمه لإعداد التخزين الخاص بك:

  1. قم بزيادة حجم كتلة نظام الملفات إذا كان التطبيق الخاص بك يعرض موقعًا مكانيًا جيدًا في إدخال/OS أو يستخدم ملفات كبيرة.
  2. يستخدم غارة 10 (شريط + النسخ المتطابق) للأداء + التكرار (حماية فشل القرص).
  3. استخدم الأقراص السريعة (الأداء الحكيم: SSD> FC> SATA).
  4. فصل أعباء العمل في أوقات مختلفة من اليوم. على سبيل المثال النسخ الاحتياطي خلال الليل ، التطبيق العادي I/O خلال اليوم.
  5. اطفئه تحديثات atime في نظام الملفات الخاص بك.
  6. Cache NFS File Handles AKA كومة قش (Facebook) ، إذا تخزين البيانات على خادم NFS.
  7. الجمع بين الملفات الصغيرة في قطع أكبر ، ويعرف أيضًا باسم طاولة كبيرة, hbase.
  8. تجنب الدلائل الكبيرة جدًا ، أي الكثير من الملفات في نفس الدليل (بدلاً من ذلك ، يقسم الملفات بين الدلائل المختلفة في التسلسل الهرمي).
  9. إستخدم مجموعات نظام التخزين (نعم ليس بالضبط أجهزة السلع).
  10. قم بتحسين/تصميم تطبيقك للوصول إلى القرص المتسلسل كلما أمكن ذلك.
  11. يستخدم memcached. :)

قد ترغب في إلقاء نظرة على قسم "الدروس المستفادة" من stackoverflow الهندسة المعمارية.

نصائح أخرى

تحقق من هذه الأداة المفيدة:

http://www.sizinglounge.com/

ودليل آخر من ديل:

http://www.dell.com/content/topics/global.aspx/power/en/ps3q01_graham؟c=us&l=en&cs=555

إذا كنت تريد مجتمع Stackoverflow الخاص بك ، فيمكنك الاشتراك معه Stacexchange.

يمكنك قراءة بعض دراسات الحالة هنا:

قابلية التوسع العالية - كيف يستخدم Rackspace الآن MapReduce و Hadoop للاستعلام عن تيرابايت من البياناتhttp://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data

http://www.gear6.com/gear6-downloads؟fid=56&dlt=case-study&ls=veoh-case-study

1 مليون طلب في اليوم هو 12/ثانية. فائض المكدس صغير بما يكفي بحيث يمكنك (مع الحيل التطبيع والضغط المثيرة للاهتمام) أن يناسبها بالكامل في ذاكرة الوصول العشوائي لـ 64 GBYTE Dell PowerEdge 2970. لست متأكدًا من المكان الذي يجب أن يلعب فيه التخزين المؤقت والتكرار دورًا.

إذا كان لديك مشكلة في التفكير بما فيه الكفاية حول التطبيع ، يتوفر PowerEdge R900 مع 256 جيجابايت.

إذا كنت لا تحب نقطة فشل واحدة ، فيمكنك توصيل عدد قليل من هذه التحديثات ودفع التحديثات عبر مأخذ توصيل (ويفضل على بطاقة شبكة منفصلة). حتى حمولة الذروة البالغة 12 كيلو/ثانية لا ينبغي أن تكون مشكلة لنظام الذاكرة الرئيسية.

أفضل طريقة لتجنب عنق الزجاجة I/O هي عدم القيام بـ I/O (قدر الإمكان). هذا يعني أن بنية تشبه بديلة مع كتابة مكتوبة (لا توجد مشكلة في خسارة بضع ثوان من البيانات) ، بشكل أساسي ملف سجل ، وللنسخ المتماثل أيضًا اكتبها إلى مأخذ توصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top