it-swarm.asia

ما هي الطريقة المثلى لاستخدام ملف تعريف WordPress؟

نحن نقوم بتشغيل مثيل WordPress متعدد المواقع على خادمي Rackspace Cloud ، صفحة ويب واحدة وقاعدة بيانات واحدة ، مع 30 موقعًا أو أكثر حاليًا. لقد وضعت Nginx في المقدمة للأصول الثابتة ويتعامل Apache مع جميع الطلبات الديناميكية. لقد قمت أيضًا بتهيئة Memcached لقاعدة البيانات و APC op كود التخزين المؤقت لـ PHP. يتم تمكين W3 Total Cache افتراضيًا في جميع المواقع التي لدينا.

إنه أمر شرير في مشكلة واحدة: عمليات Apache تزن بانتظام بين 80 و 120 ميغابايت. يحتوي خادم الويب على 2 غيغابايت من الذاكرة ، مما يعني أنني أحصل على 15 عملية أو نحو ذلك إلى أن تستمر الأمور في فريتز. من الواضح أن العمليات لا ينبغي أن تكون بهذا الحجم لكنني في حيرة من أمرهم.

ما هي الإستراتيجية الجيدة لتحديد ما يجري؟

شكرا لك مقدما!

تحديث 10/2/10:بالنسبة لأولئك الذين يتساءلون ، تم حل مشكلة مشكلة الذاكرة PHP xdebug (تم تمكينه عن غير قصد عند التكوين وتسبب في حدوث طفرات في استخدام الذاكرة العشوائية) .

8
Daniel Bachhuber

يمكن تقسيم مقدار ذاكرة عملية Apache التي تتحدث عنها (من 80 إلى 120 ميجابايت لكل عملية) إلى سببين.

  1. أباتشي
  2. وورد

أباتشي

يمكنك تحسين Apache فقط عن طريق تحميل عدد الوحدات التي تحتاج إليها وتعديلات التحسين الأخرى التي تقلل من الذاكرة. إذا لم تقم بتحسين ذلك بعد ، فامنحه بعض التعديلات.

وورد

يستهلك Wordpress الكثير من الذاكرة وليس محسّنًا على الإطلاق. سأبدأ باستبدال فئة قاعدة البيانات بشيء ما تم تنفيذه بشكل صحيح. يجب أن تكتسب المزيد من السرعة وتقليل استخدام الذاكرة كثيرا. بجانب ذلك ليس لدي الكثير لأقترحه. عدم استخدام Worpdress لا يعتبر مفيدًا.

استراتيجيات

لمعرفة ما يجري ، تحتاج إلى تتبع مقدار الذاكرة التي يستهلكها طلب وورد. هناك وظيفة الاستخدام get get ( memory_get_peak_usage() ) التي يمكنك استخدامها لمراقبة استخدام الذاكرة worpdress. إذا اقتربت من 80 إلى 120 ميغابايت التي كتبت عنها ، فأنت تعلم أن ووردبريس يخلق الصداع. قد ترغب في تسجيل الطابع الزمني والذاكرة القصوى ووقت التنفيذ و URI المطلوبة.

من المؤكد أن استخدام Nginx لعرض صفحات Wordpress المخزنة مؤقتًا سوف يساعدك لأنه سيمنع وورد من التحميل - حتى بالنسبة لأولئك الذين يستخدمون ذاكرة التخزين المؤقت "مثل" التي تستخدمها. يتم كسرها نظريًا لأنها مكون ووردبريس ، لذلك يجب تحميل جزء من ووردبريس على الأقل حتى للنتائج المخبأة.

4
hakre

دانيال،

أنا لا أتفق مع kenkeiter ، أتفهم استخدام nginx كبديل عكسي أمام Apache. حقق قانون جامعة هارفارد نجاحًا كبيرًا في هذه الطريقة ولديه مقال رائع حول كيفية القيام بذلك ، من خلال رابط إلى البرنامج المساعد الخاص بـ WordPress والذي يساعد على التفاعل مع nginx:

http://blogs.law.harvard.edu/djcp/2010/01/nginx-as-a-front-end-proxy-cache-for-wordpress/

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

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

1
mitcho

حسنًا ، أولاً وقبل كل شيء ، أنت تستخدم Apache و Nginx - نوع من الزائدة عن الحاجة. يجب أن تستخدم Nginx/FastCGI w/PHP. يجب أن يساعدك البرنامج التعليمي في هذا الموقع. خلاف ذلك ، فإن أفضل تخميني هو أن بعض التغييرات الحديثة في شفرتك تسبب في حدوث خلل في PHP لعدم تحرير الذاكرة بشكل صحيح. ليس هناك سبب يدعو إلى أن عملية Apache يجب أن تستهلك الكثير من الذاكرة.

http://interfacelab.com/nginx-php-fpm-apc-awesome/

حظا سعيدا!

kenkeiter

0
kenkeiter