لنفترض أن لدي مضيف عامل ميناء تم إعداده مع 50 حاوية لكل منها موقع يخدمه أباتشي.
كما أفهمها سيكون لكل حاوية مثيل أباتشي قيد التشغيل وعادة ما يستخدم كل مثيل أباتشي ~250 ميغابايت لكل ذاكرة الوصول العشوائي. أباتشي ثم يتطلب بضعة ميغابايت لكل عملية الطفل.
أنا الصحيح في افتراض أن كل حاوية تتطلب ذاكرة مثيل أباتشي الكامل? على سبيل المثال. ال 50 سيتطلب مواقع 50 س ~300 ميغابايت?
أم أباتشي قادرة على مشاركة بعض أجزاء من الذاكرة بين الحاويات لتحسين كفاءة الذاكرة?
هل عامل الميناء مناسبة لكفاءة استضافة "الشامل" (على سبيل المثال. وهناك عدد كبير من المواقع التي تتطلب كل موارد قليلة) حيث كل موقع هو حاوية? أو سيكون من الممكن فقط أن يكون لديك حاوية أباتشي واحدة تخدم 50 المواقع?
يوفر عامل الميناء العزلة بين مثيلات أباتشي ، والتي قد تكون مثيرة للاهتمام لأسباب عديدة (على سبيل المثال ، إذا تم إدارة كل موقع من قبل مستخدم مختلف) ، كما يسمح بسهولة نقل الحالات على خادم آخر. إذا كنت لا تحتاج أن كنت ربما يكون أداء أفضل مع مثيل واحد فقط من أباتشي.
العزلة يعني أن استخدام الموارد سوف تكون مشابهة جدا لاستخدام الأجهزة الظاهرية ، إلا أنك لا تدفع النفقات العامة الافتراضية ، وتقسيم الذاكرة النفقات العامة ونظام التشغيل النفقات العامة. ومع ذلك ، يجب أن يعتمد استخدام ذاكرة أباتشي في الغالب على تحميل الخادم ، وبالتالي لا يجب أن تتوقع زيادة عشرة أضعاف إذا قمت بتقسيم خادم كبير إلى العديد من الخوادم الصغيرة. أيضا ، كما أن هناك نواة واحدة فقط ، يتم تقاسم ذاكرة التخزين المؤقت القرص بين الحاويات ، لذلك إذا كان نمط الوصول إلى القرص الخاص بك هو مماثل بين حالتين تحصل على دفعة الأداء قليلا.
إذا كنت أفهم سؤالك والقلق هو حول ما هي الذاكرة حصة قادرة بين مثيلات الحاويات، ثم الجواب على هذا السؤال للمكتبات المشتركة هو أنه يعتمد.
نقلا عن:
https://groups.google.com/d/msg/docker-user/wCDC_sXzbks/i1gjlgQbxWEJ
الفائدة الثانية هي أن النسخ عند الكتابة ومشاركة الصفحة تنطبق على جميع العمليات على المضيف بغض النظر عن الحاويات. على سبيل المثال ، ستستخدم 1000 حاوية تقوم بتعيين نفس الملف إلى الذاكرة (على سبيل المثال ، مكتبة أو ملف قابل للتنفيذ) مساحة الذاكرة مرة واحدة فقط. إذا كتبوا إلى الذاكرة ، فسيتم نسخ الصفحات التي يكتبون إليها فقط. التحذير من هذه الميزة الثانية هو أن نظام الملفات يجب أن يكون على دراية بأن حاوياتك تقوم بتعيين نفس الملف. حاليا هذا هو الحال بالنسبة لبرنامج تشغيل التخزين أوفس (الذي يعمل في طبقة نظام الملفات) ولكن ليس لبرنامج تشغيل لفم/ديفيسمابر (الذي يعمل على مستوى كتلة وبالتالي لا يستفيد ). سوف تستفيد برامج تشغيل زفس و بترفس قيد التطوير أيضا من التخزين المؤقت للصفحة. لذلك أتوقع في سيناريو حيث تقوم بتشغيل الآلاف من الحاويات و أنها خريطة ملفات متطابقة كبيرة إلى الذاكرة ، حاليا سائق أوفس سوف تعطيك أفضل استخدام الذاكرة. لكننا لم نقم بقياس هذا.