Назад | Перейти на главную страницу

Как мне проанализировать результат Apache Bench?

Мне нужна помощь с анализом журнала из Apache Bench:

Benchmarking texteli.com (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:
Server Hostname:        texteli.com
Server Port:            80

Document Path:          /4f84b59c557eb79321000dfa
Document Length:        13400 bytes

Concurrency Level:      200
Time taken for tests:   37.030 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      13524000 bytes
HTML transferred:       13400000 bytes
Requests per second:    27.01 [#/sec] (mean)
Time per request:       7406.024 [ms] (mean)
Time per request:       37.030 [ms] (mean, across all concurrent requests)
Transfer rate:          356.66 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       27   37  19.5     34     319
Processing:    80 6273 1673.7   6907    8987
Waiting:       47 3436 2085.2   3345    8856
Total:        115 6310 1675.8   6940    9022

Percentage of the requests served within a certain time (ms)
  50%   6940
  66%   6968
  75%   6988
  80%   7007
  90%   7025
  95%   7078
  98%   8410
  99%   8876
 100%   9022 (longest request)

Что могут сказать мне эти результаты? Разве 27 об / с не слишком медленно?

При запуске нагрузочных тестов выбор произвольного числа и обращение к вашему серверу, как правило, не лучший вариант. Все, что вы доказали, - это то, что ваш сервер может обрабатывать 200 одновременных посетителей, если они не против ждать ~ 7 секунд загрузки своего запроса. Что вы, вероятно, хотите сделать, это:

  1. Во-первых, установите базовый уровень. Используйте 1 посетителя (одновременность 1).
  2. Во-вторых, начните наращивать цифры. Например, 1, 10, 25, 50, 100, 125, 150, 200 и т. Д.
  3. Наконец, убедитесь, что эти запросы выполняются в течение длительных периодов времени (т.е. не просто запускайте его, а затем ^ C)

Получив результаты, нарисуйте их: количество посетителей в сравнении со средним временем запроса, включая максимальные и минимальные столбцы. По сути, нагрузочное тестирование произвольного приложения настолько же полезно, насколько и соответствующие тесты; в этом случае, например, если для загрузки страницы требуется 1 посетитель 6 секунд, тогда 7 секунд на страницу для 200 посетителей звучит неплохо, не так ли?

вы можете начать с установки начального количества запросов и количества одновременных запросов и проверить результаты следующим образом:

- Total Number of Requests per seconds
- Average Time Per Request
- Average waiting / processing / connecting times

затем вы можете масштабировать их, увеличивая количество одновременных подключений до тех пор, пока вы не приблизитесь к ожидаемому количеству пользователей, и посмотрите ответ вашей службы и повторите его несколько раз, проверьте изменение времени и возьмите среднее