استخدام وحدة المعالجة المركزية FLUP / FASTCGI تحت ظروف عدم التحميل

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

سؤال

أنا أقوم بتشغيل django كخياسة fastcgi عبر التفضيل، يخدمها lighttpd، التواصل عبر المقابس.

ما هو استخدام وحدة المعالجة المركزية المتوقعة لكل مؤشر ترابط FastCGI دون أي حمولة؟ عند بدء التشغيل، يعمل كل مؤشر ترابط في استخدام وحدة المعالجة المركزية 3-4٪ لفترة من الوقت، ثم يعود إلى حوالي 0.5٪ على مدار بضع ساعات. لا تغرق تحت هذا المستوى.

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

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

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

المحلول

لقد بحثت في هذا على Django يعمل ك Fastcgi على كل من Slicehost (Django 1.1، Python 2.6) و Dreamhost (Django 1.0، Python 2.5)، ويمكنني أن أقول هذا:

تشغيل top يظهر الأمر العمليات استخدام كمية كبيرة من وحدة المعالجة المركزية للبدء لمدة ~ 2-3 ثوان، ثم المنسدلة إلى 0 على الفور تقريبا.

تشغيل ps aux الأمر بعد بدء تشغيل تطبيق Django يظهر شيئا مشابها لما تصفه، ومع ذلك هذا هو في الواقع مضللة. من صفحات رجل Ubuntu ل PS:

يتم التعبير عن استخدام وحدة المعالجة المركزية حاليا كنسبة مئوية من الوقت الذي يقضيه خلال العمر بأكمله من العملية. هذا ليس مثاليا، ولا يتوافق مع المعايير التي يتوافق بها PS خلاف ذلك. من غير المرجح أن تضيف استخدام وحدة المعالجة المركزية إلى 100٪ بالضبط.

أساسا،٪ CPU العمود المعروض ps هو في الواقع an. معدل خلال الوقت الذي تم تشغيل العملية. يعزى الانحلال الذي تراه إلى ارتفاع الأولي العالي تليها عملية عدم النشاط مع مرور الوقت.

نصائح أخرى

يجب أن تستهلك مؤشرات الترابط السريعة CGI أي وحدة المعالجة المركزية (ملحوظة) إذا لم تكن هناك طلبات لمعالجةها.

يجب عليك التحقيق في الحمل الذي تصفه. يمكنني استخدام نفس الهندسة المعمارية والخيوط الخاصة بي خاملا تماما.

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