ومن الشائع أيضًا أن يكون تحميل الخادم كبيرًا جدًا ويؤثر على كفاءة البرنامج، ونحن بحاجة إلى اختبار ذلك. هنا سأأخذ خادم Apache الأكثر استخدامًا كمثال.
يأتي خادم Apache مزودًا بأداة تسمى AB (ApacheBench)، الموجودة في دليل bin. باستخدام هذه الأداة خفيفة الوزن، يمكننا اختبار التحميل لخادمنا لمعرفة كيفية أدائه تحت الحمل الثقيل. يمكن لـ ApacheBench محاكاة الطلبات المستمرة عبر الإنترنت لعنوان URL محدد، ويمكنه أيضًا محاكاة عدة طلبات متطابقة عبر الإنترنت في نفس الوقت، لذلك، يمكن أن يساعدنا استخدام ApacheBench في محاكاة الوضع الفعلي عبر الإنترنت أثناء تطوير موقع الويب، واستخدام البيانات المحاكاة كـ. أساس لضبط إعدادات الخادم أو إجراءاته.
الإخراج في سطر الأوامر:
./ab -n number_of_total_requests
-ج number_of_simultaneous_requests
http://your_web_server/your_php_app.php
على سبيل المثال:
./ab -n 1000 -c 50 http://www.domain.com/myapp.php
سوف يرسل AB أيضًا إلى http://www.domain.com/myapp .php يصدر 50 طلبًا متزامنًا، بإجمالي 1000 مرة.
من المحتمل أن تبدو نتائج الاختبار كما يلي:
برنامج الخادم: Apache/2.0.16
اسم مضيف الخادم: المضيف المحلي
منفذ الخادم: 80
مسار الوثيقة: /myapp.php
طول الوثيقة: 1311 بايت
مستوى التزامن: 50
الوقت المستغرق للاختبارات: 8.794 ثانية
الطلبات الكاملة: 1000
الطلبات الفاشلة: 0
إجمالي النقل: 1754000 بايت
تم نقل HTML: 1311000 بايت
الطلبات في الثانية: 113.71
معدل النقل: تم استلام 199.45 كيلو بايت/ثانية
أوقات الاتصال (مللي ثانية)
com.minavgmax
الاتصال: 0 0 5
المعالجة: 111427550
الإجمالي: 111 427 555
عدد الطلبات التي يستطيع myapp.php التعامل معها في الثانية هو 113.71. قم بزيادة عدد الطلبات ومعرفة ما إذا كان الخادم يمكنه التعامل مع الضغط الأكبر. تحتاج أيضًا إلى ضبط MaxClients وThreadsPerChild وMaxThreadsPerChild الخاصة بـ Apache والمعلمات الأخرى، استنادًا إلى تحديد وحدة MPM في httpd.conf.
إذا كنت تريد المزيد من المعلومات التفصيلية، فراجع www.apache.org للحصول على بعض الوثائق المتعمقة، بما في ذلك الوحدات وأدوات الإنتاجية التابعة لجهات خارجية. بعد تعديل httpd.conf، أعد تشغيل خادم Apache ثم استخدم AB للاختبار. سترى عدد الطلبات في الثانية يزيد أو ينقص.
قم بتدوين المعلمات في كل مرة، وأخيرًا اختر التكوين بأفضل كفاءة.
تجدر الإشارة إلى أنه بالإضافة إلى AB، هناك العديد من البرامج الممتازة لاختبار أداء الخادم. بالإضافة إلى ذلك، إذا كان الخادم الخاص بك ليس Apache، فيرجى العثور على طريقة الاختبار الخاصة بك.