كيفية الحصول على التعليمات البرمجية الخاصة بك جاهزة Loadbalancing

StackOverflow https://stackoverflow.com/questions/605596

  •  03-07-2019
  •  | 
  •  

سؤال

كما فعلنا هذا في الماضي ، أود أن جمع المعلومات المفيدة للجميع الانتقال إلى loadbalancing ، هي القضايا التي الكود الخاص بك يجب أن تكون على علم.

انتقلنا من خادم أباتشي الحبار كما عكس الوكيل/loadbalancer مع ثلاثة خوادم أباتشي خلف.

نحن باستخدام PHP/MySQL, لذا المسائل قد تختلف.

الأشياء التي نريد حلها:

دورات

انتقلنا من "الافتراضي" php دورات (ملفات) من أجل توزيع أعطها-جلسات.الحل بسيط, يجب أن يكون القيام به.بهذه الطريقة أنت أيضا لا تحتاج إلى "لزجة جلسات" على loadbalancer.

التخزين المؤقت

إلى غير الموزعة apc-ذاكرة التخزين المؤقت في خادم الويب ، واضاف نحن anoter أعطها-طبقة توزيع كائن التخزين المؤقت, و استبدال كل القديم/عفا عليها الزمن filecaching أنظمة معها.

تحميل

تحميل الذهاب إلى مشترك (nfs) مجلد.

أشياء نحن الأمثل للسرعة:

ملفات ثابتة

هدفنا الرئيسي NFS يدير lighttpd تخدم (أيضا يتم تحميله من قبل المستخدم) الصور.الحبار هو على علم بذلك و لم الاستعلامات لدينا أباتشي-العقد للصور ، الذي أعطى لطيفة تعزيز الأداء.الحبار هو أيضا تكوين ذاكرة التخزين المؤقت هذه الملفات في ذاكرة الوصول العشوائي.

ماذا فعلت للحصول على التعليمات البرمجية الخاصة بك/المشروع جاهزة loadbalancing أي مخاوف الناس التفكير في هذه الخطوة ، والتي منصة/اللغة تستخدمه ؟

هل كانت مفيدة؟

المحلول

عندما تفعل هذا:

Http العقد ، ودفع من الصعب على نظام واحد صورة (ocfs2 جيد لهذا) و استخدام إما جنيه أو مفترق طرق كما موازن تحميل, اعتمادا على السيناريو.العقد يجب أن يكون الصغيرة القرص المحلي من أجل مبادلة لتجنب معظم (ولكن ليس كل) الصداع من CDSLs.

ثم أحضر كسين إلى المزيج.إذا كنت في مكان صغير ، الصدغي كمية من المعلومات على Xenbus (أيمقدار الذاكرة الظاهرية لينكس فعلا وعدت العمليات في VM الملقب Committed_AS) يمكنك بسرعة الكشف عن ميت الدماغ موازن التحميل و تعديله.أوراكل القبض على هذا أيضا ..و هو الآن يعمل على تحسين بالون السائق في لينكس.

بعد ذلك ننظر في تكلفة تقسيم قاعدة البيانات استخدام أي التطبيق عبر sqlite3 ومهما db التطبيق يريد أصلا, في حين أدرك أنني بحاجة إلى تقسيم db حتى posix_fadvise() يمكن أن تقوم بعملها و لا تلوث نواة مخازن داع.لأن معظم نظم إدارة قواعد البيانات خدمات تريد أن تفعل بهم التخزين المؤقت ، يجب أيضا السماح لهم علاقة بهم التجميع.هذا حقا يملي نوع DB العنقودية التي تستخدم وماذا أفعل إلى بالون السائق.

Memcache ملقمات ثم التمهيد من قرص لحمي initrd مرة أخرى حين متميزة المجال الساعات الذاكرة واستخدام وحدة المعالجة المركزية حتى يعرف أنه عندما التمهيد أكثر.

اختيار ضربات القلب / استيلاء حقا يعتمد على شبكة معينة و الاستخدام المتوقع من الكتلة.من الصعب التعميم في أن واحد.

والنتيجة النهائية هي عادة 5 أو 6 المادية العقد مع قدرا كبيرا من ذاكرة تشغيل الجهاز الظاهري مراقبة + للضيوف حين تعلق تخزين معكوسة.

التخزين هو أيضا من الصعب وصفها في الشروط العامة..أحيانا استخدام الكتلة LVM, وأحيانا لا.لا تتغير عندما LVM2 أخيرا يتحرك بعيدا عن الحالي سلسلة بناء API.

أخيرا, كل هذا نتائج التنسيق في شيء من هذا القبيل Augeas تحديث تكوينات على الطاير, على أساس الأحداث التي ترسل عن طريق Xenbus.يتضمن ocfs2 نفسها ، أو أي خدمة أخرى حيث تكوينات فقط لا يمكن أن تتواجد على نظام واحد صورة.

هذا هو حقا تطبيق سؤال محدد ..هل يمكنك إعطاء مثال ؟ أنا أحب memcache ، ولكن ليس كل شخص يمكن أن تستفيد من استخدام ذلك ، على سبيل المثال.نحن مراجعة التكوين الخاص بك أو نتحدث عن أفضل الممارسات في العام ؟

تحرير:

آسف لكوني لينكس مركزية ...لها عادة ما تستخدم عند تصميم المجموعة.

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