يمكن للشخص يرجى توضيح ما هي هذه أباتشيبينتش النتائج يعني ؟

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

سؤال

أنا في محاولة لمعرفة كيفية استخدام أباتشيبينتش وقياس موقع الويب الخاص بي.أنا ركبت الافتراضي موقع المشروع (انها ASP.NET MVC ولكن من فضلك لا تضع التوقف عن القراءة إذا أنت لا .صافي شخص).

لم يتغير أي شيء.إضافة مشروع جديد.مجموعة confuration الإفراج.تشغيل دون تصحيح.(حتى في طريقة العيش).نعم هذا هو مع المدمج في خادم الويب ، وليس الإنتاج الصف IIS او Apache أو أيا كان.

لذلك وهنا النتائج :-

C:\Temp>ab -n 1000 -c 1 http://localhost:50035/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        ASP.NET
Server Hostname:        localhost
Server Port:            50035

Document Path:          /
Document Length:        1204 bytes

Concurrency Level:      1
Time taken for tests:   2.371 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      1504000 bytes
HTML transferred:       1204000 bytes
Requests per second:    421.73 [#/sec] (mean)
Time per request:       2.371 [ms] (mean)
Time per request:       2.371 [ms] (mean, across all concurrent requests)
Transfer rate:          619.41 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.1      0      16
Processing:     0    2   5.5      0      16
Waiting:        0    2   5.1      0      16
Total:          0    2   5.6      0      16

Percentage of the requests served within a certain time (ms)
  50%      0
  66%      0
  75%      0
  80%      0
  90%     16
  95%     16
  98%     16
  99%     16
 100%     16 (longest request)

C:\Temp>

الآن أنا لست متأكدا تماما ما يجب أن تبحث في.

أولا ، أنا بعد عدد من الطلبات في الثانية.حتى إذا كان لدينا شرط التعامل مع 300 reqs/ثانية, ثم هذا القول من مقابض متوسط 421 req هذا ثانية ؟

ثانيا: ما هو السبب في إضافة المزيد من المتزامنة?كما إذا كان لدي 1000 يضرب في 1 المتزامنة ، كيف يمكن أن تختلف إلى 500 2 متزامنة?هو لاختبار ما إذا كان هناك أي قانون يمنع غيرها من الطلبات ؟

وأخيرا ، هل هناك أي شيء مهم لقد اشتقت من النتائج التي يجب أن تأخذ علما ؟

شكرا :)

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

المحلول

ما هو السبب في إضافة المزيد من متزامنة?كما إذا كان لدي 1000 يضرب 1 المتزامنة ، كيف تختلف إلى 500 2 متزامنة?هو اختبار إذا كان هناك أي قانون يمنع أخرى طلبات ؟

انها قليلا عن ذلك ، نعم :التطبيق الخاص بك هو على الارجح القيام بأشياء حيث التزامن يمكن أن تجلب المتاعب.

بعض الأمثلة :

  • الصفحة التي تحاول الوصول إلى ملف -- قفل عليه في هذه العملية ؛ يعني إذا كان آخر صفحة الوصول إلى نفس الملف سوف تضطر إلى الانتظار حتى أول الصفحة من العمل معها.
  • تماما نفس لقاعدة بيانات access :لو صفحة واحدة هي الكتابة إلى قاعدة البيانات ، هناك نوع من قفل mecanisms (سواء كان ذلك على أساس جدول ، أو صف أو أيا كان ، اعتمادا على DBMS)

اختبار مع التزامن واحد هو موافق...طالما موقع الويب الخاص بك سوف لا يكون لديك أكثر من مستخدم واحد في نفس الوقت ؛ وهو أمر غير واقعي ، أتمنى لك.


لديك للتفكير في كيفية العديد من المستخدمين سوف يكون على موقع في نفس الوقت, عندما يكون في الإنتاج -- و ضبط التزامن ;فقط تذكر أن 5 مستخدمين في نفس الوقت على موقع الويب الخاص بك لا يعني أنك يجب أن اختبار مع التزامن مع 5 ab :

  • المستخدمين الحقيقية سوف انتظر بضع ثوان بين كل طلب (الوقت لقراءة الصفحة ، انقر على رابط،...)
  • ab لا ينتظر في كل شيء :في كل مرة يتم تحميل الصفحة (أي طلب يتم الانتهاء من) انها تطلق طلب آخر !


أيضا اثنين من الأشياء الأخرى :

  • ab فقط اختبارات صفحة واحدة -- ريال المستخدمين على التنقل في الموقع كله ، والتي يمكن أن تسبب مشاكل التزامن لن يكون أثناء اختبار صفحة واحدة فقط
  • ab فقط بتحميل صفحة واحدة :لا طلب الموارد الخارجية (اعتقد CSS, الصور, JS, ...) ;مما يعني سيكون لديك الكثير من الطلبات الأخرى ، حتى لو لم يكن حقا مكلفة ، عندما يكون موقعك في الإنتاج.

كما sidenote :قد ترغب في إلقاء نظرة على الأدوات الأخرى التي يمكن أن تفعل أكثر بكثير من إكمال الاختبارات مثل الحصار, Jmeter, أو OpenSTA :ab هو لطيف حقا عندما تريد قياس إذا كان هناك شيء فعلته هو تحسين الصفحة الخاصة بك أم لا ؛ ولكن إذا كنت ترغب في محاكاة "الحقيقي" استخدام موقع الويب الخاص بك ، تلك هي الآن أكثر تكيفا.

نصائح أخرى

نعم، إذا كنت تريد معرفة عدد الطلبات في الثانية التي يستطيع موقعك تقديمها، فانظر إلى سطر "الطلبات في الثانية".في حالتك، يكون الأمر بسيطًا جدًا نظرًا لأنك قمت بتشغيل ab بتزامن قدره 1.يستغرق كل طلب في المتوسط ​​2.371 مللي ثانية فقط.421 منها، واحدة تلو الأخرى، تستغرق ثانية واحدة.

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

ومع ذلك، فإن غالبية طلباتك تعود خلال حوالي 2 مللي ثانية.هذا سريع جدًا، لذلك أعتقد أنه لا يوجد الكثير مما يحدث فيما يتعلق بقاعدة البيانات أو مكالمات الطبقة المتوسطة، ومن المحتمل أن يصل نظامك إلى الحد الأقصى في وحدة المعالجة المركزية عند تشغيل الاختبار (أو يكون هناك خطأ ما، ويفشل بسرعة كبيرة.هل أنت متأكد من حصول ab على صفحة الاستجابة التي تنوي الحصول عليها؟أي.هل الصفحة التي تعتقد أنك تختبرها بحجم 1204 بايت؟).التي إحضار نقطة أخرى:يستهلك ab نفسه وحدة المعالجة المركزية أيضًا، خاصة بمجرد زيادة التزامن.لذلك تريد تشغيل ab على جهاز آخر.

أيضًا، إذا قام موقعك بإجراء مكالمات خارجية لخدمات الطبقة المتوسطة أو قواعد البيانات، فأنت تريد ضبط Machine.config الخاص بك لتحسين عدد سلاسل الرسائل التي يخصصها IIS:http://support.microsoft.com/default.aspx?scid=kb;en-us;821268

وقليل من التوافه:يتم إجراء إحصائيات الوقت المستغرق بزيادات تصل إلى 16 مللي ثانية تقريبًا، حيث يبدو أن هذا هو دقة المؤقت المستخدم.أي.80% من ردودك لم تستغرق 0 مللي ثانية، بل استغرقت بعض الوقت أقل من 16 مللي ثانية.

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