المواقع الإلكترونية
أداء الموقع و APM
Application Performance Monitoring tells you where your site's time actually goes: response time percentiles, the slowest URLs, the slowest database queries, and how hard PHP is working. This guide…
أداء الموقع ومراقبة الأداء
مراقبة أداء التطبيق تخبرك بالمكان الذي يذهب إليه وقت موقعك فعليًا: نسب مئوية وقت الاستجابة، وأبطأ عناوين URL، وأبطأ استعلامات قاعدة البيانات، وما مدى عمل PHP بجد. يغطي هذا الدليل تفعيل APM وقراءة كل لوحة والتصرف بناءً على ما تظهره.
مكان وجود APM في KPanel
- سجّل الدخول إلى KPanel.
- انقر على Websites في الشريط الجانبي الأيسر، ثم انقر على الموقع.
- في شريط علامات تبويب الموقع، افتح WordPress ثم APM.
العنوان المباشر هو /websites/<site-id>/performance.

APM هي مزايا خطة. وهي مضمنة مع Managed WordPress Pro. على أي خطة أخرى تعرض الصفحة لوحة ترقية تشرح ما يغطيه APM بدلاً من لوحات المعلومات. إذا رأيت تلك اللوحة، فإن الميزة غير متاحة على خطتك الحالية بدلاً من أن تكون معطلة.
تشغيل APM
APM معطل حتى تقوم بتفعيله. على خطة مؤهلة تعرض الصفحة بطاقة Application Performance Monitoring مع زر Enable APM.
يؤدي تفعيله إلى إضافة سجل وصول خفيف الوزن وأداة تتبع الطلبات البطيئة على مستوى عامل PHP. لا يضيف أي شيء إلى صفحاتك ولا يضيف أي عمل إلى طلب الزائر، لذا من الآمن تركه قيد التشغيل بشكل دائم.
بمجرد التفعيل تعرض الصفحة حبة APM Active مع التاريخ الذي تم تشغيله، وزر Refresh، وزر Disable APM. تظهر المقاييس فقط بعد وصول حركة مرور حقيقية، لذا يعرض الموقع الهادئ Waiting for requests لفترة ما.
أوقات الاستجابة
تحتوي البطاقة الأولى على أربعة أرقام من الساعة الماضية، مع عدد الطلبات ووقت الالتقاط في رأسها.
| المقياس | معناه |
|---|---|
| Median (P50) | نصف الطلبات كانت أسرع من هذا |
| P95 | 95 في المائة من الطلبات كانت أسرع من هذا |
| P99 | 99 في المائة من الطلبات كانت أسرع من هذا |
| 5xx Error Rate | نسبة الطلبات التي فشلت بخطأ خادم |
كل بطاقة مشفرة بالألوان حتى تتمكن من قراءة الحالة دون معرفة الحدود.
اقرأ النسب المئوية معًا، وليس بشكل منفصل. متوسط جيد مع P95 سيء يعني أن معظم الطلبات على ما يرام وأقلية مؤلمة، وهو التوقيع الكلاسيكي لصفحة واحدة بطيئة أو استعلام بطيء واحد أو ذاكرة تخزين مؤقت تفتقد عناوين URL معينة. متوسط سيء يعني أن الموقع بأكمله بطيء والسبب عادةً هيكلي: خطة صغيرة جدًا أو موضوع ثقيل أو ذاكرة تخزين مؤقت معطلة.
معدل خطأ 5xx هو الرقم الوحيد الذي يجب أن يكون صفرًا. أي شيء مستمر فوق الصفر يعني أن الزوار يرون أعطالاً.
عمال PHP
تعرض بطاقة PHP Workers ثلاثة أرقام:
- Active Workers: عدد عمليات PHP التي تتعامل حاليًا مع الطلبات.
- Slow Requests: الطلبات التي تجاوزت حد الطلب البطيء وتم تسجيلها.
- Total Handled: الاتصالات المقبولة منذ بدء التجمع.
العمال النشطون إشارة إشباع. إذا ظل ثابتًا بالقرب من سقفه أثناء حركة المرور العادية، فإن الطلبات تنتظر وراء PHP، وكل وقت استجابة على الصفحة أعلاه جزئيًا وقت الانتظار. هذه مشكلة سعة، وليست مشكلة كود، والحل هو خطة أكبر أو عمل أقل لكل طلب.
عدد الطلبات البطيئة المتزايد مع حجم طلب مستقر يعني أن شيئًا ما أصبح مكلفًا.
أبطأ نقاط النهاية
تسرد هذه البطاقة أبطأ عناوين URL الخاصة بك حسب وقت استجابة P95، كل منها مع شريط، و P95 بالميلي ثانية، وعدد المكالمات التي تلقتها. يحدد اللون أسوأ المخالفين.
اقرأها كقائمة مختصرة، وليس كلوحة ترتيب. ما تريده هو تقاطع البطء والاتصالات المتكررة: صفحة تستغرق أربع ثوان وتُضرب مرتين في اليوم تستحق أقل من واحدة تستغرق 900 ميلي ثانية وتُضرب عشرة آلاف مرة.
المذنبون الشائعون:
- صفحات البحث التي تمسح دون فهرس.
- فئة وقوائم الأرشيف التي تبني استعلامات كبيرة لكل طلب.
- صفحات سلة التسوق والدفع والحساب، التي لا تُخزّن مؤقتًا أبدًا لأنها فريدة لكل زائر. راجع Site Caching لمعرفة المسارات التي تتجاوز ذاكرة التخزين المؤقت حسب التصميم.
- عناوين URL الإدارية، التي تكون دائمًا ديناميكية.
- أي شيء يستدعي واجهة برمجية خارجية داخل الطلب، حيث تقيس خادم شخص آخر.
الاستعلامات البطيئة
تسرد بطاقة Slow Queries استعلامات قاعدة البيانات التي يبلغ متوسطها أكثر من 100 ميلي ثانية، مأخوذة من بيانات الأداء الخاصة بقاعدة البيانات. يعرض كل صف الوقت المتوسط والوقت الأقصى وعدد المكالمات والنص المعياري للاستعلام.
نص الاستعلام عبارة عن ملخص، حيث تُجرّد القيم الحرفية، لذا ينتظم الاستعلام ذاته مع معاملات مختلفة في صف واحد. هذا ما يجعل عدد المكالمات ذا معنى.
إصلاح الاستعلامات البطيئة عادةً يكون أحد ثلاثة أشياء: إضافة فهرس يحتاجه الاستعلام، أو تقليل تكرار تشغيل الاستعلام عن طريق تخزين نتيجته مؤقتًا، أو إزالة المكون الإضافي الذي ينشئه. استعلام بعدد مكالمات عالي جدًا ومتوسط معتدل غالبًا ما يكون أسوأ بشكل إجمالي من شذوذ دراماتيكي واحد.
إذا عادت قائمة نقاط النهاية والاستعلامات كلاهما فارغة، تقول البطاقة إنه لم يتم اكتشاف طلبات بطيئة، مما يعني أن كل شيء في الساعة الماضية كان ضمن الحدود الطبيعية.
استخدام APM بشكل جيد
خذ خطًا أساسيًا. انظر إلى الأرقام عندما يكون الموقع صحيًا، حتى تعرف كيف يبدو الوضع الطبيعي. P95 بقيمة 700 ميلي ثانية لا يعني شيئًا حتى تعرف أنه اعتاد أن يكون 300.
غيّر شيئًا واحدًا في المرة. فعّل ذاكرة التخزين المؤقت، وأنعش، وقارن. قم بإلغاء تنشيط مكون إضافي مريب، وأنعش، وقارن. التغييرات المجمعة لا تعطيك أي إشارة.
أنعش بعناد. زر Refresh إعادة قراءة المقاييس عند الطلب. تغطي الأرقام الساعة الماضية، لذا امنح التغيير قليلاً من الوقت قبل الحكم عليه.
انظر خارج APM أيضًا. تقيس APM تطبيقك. إذا كانت المشكلة في الشبكة أو الحافة بدلاً من الكود، فإن Site Traffic Analytics و Site Uptime Monitoring ستعرضها بدلاً من ذلك.
استكشاف الأخطاء وإصلاحها
الصفحة تعرض لوحة ترقية. APM مضمن مع Managed WordPress Pro. على خطط أخرى غير متاح.
APM قيد التشغيل لكن لا توجد مقاييس. لا توجد حركة مرور بعد. تظهر المقاييس بمجرد أن يتلقى الموقع طلبات.
أوقات الاستجابة جيدة في APM لكن الموقع يبدو بطيئًا. APM يقيس وقت الخادم فقط. الوقت المستغرق في تنزيل الصور وتشغيل JavaScript وتحميل الخطوط في المتصفح غير مرئي هنا. إذا كان وقت الخادم جيدًا ولا تزال الصفحة بطيئة، فإن المشكلة في الواجهة الأمامية أو فيما تطلبه من المتصفح جلبه.
P95 تفاقم بعد تحديث مكون إضافي. تحقق من قائمة أبطأ نقاط النهاية، ثم قائمة الاستعلامات البطيئة. سيظهر مكون إضافي أضاف استعلامًا إلى كل تحميل صفحة في كليهما.
كل شيء بطيء طول الوقت. تحقق من عمال PHP للإشباع أولاً. إذا كانت العمال مثبتة، أضف السعة أو قلل العمل لكل طلب قبل تحسين أي شيء آخر.
أخطاء أعلى من الصفر. أصلح هذه قبل ملاحقة الميلي ثانية. ابدأ بسجلاتك، واستخدم زر Troubleshoot with Kora على علامة تبويب Error pages الخاصة بالموقع، والذي يطلب من Kora قراءة سجلات الأخطاء والأعطال الأخيرة لك. راجع Custom Error Pages.
الصفحات ذات الصلة
- Site Caching عادةً ما يكون أكبر فوز واحد لموقع WordPress.
- Site Security لمسح الثغرات الأمنية والبرامج الضارة على نفس الموقع.
- Taking a Backup قبل أن تبدأ بإزالة المكونات الإضافية.