Я пробовал использовать Apache Benchmark (ab) для тестирования своего сервера. Я провел один и тот же тест дважды - один раз локально на моем локальном компьютере Mac и один раз на арендованном мной сервере Media Temple.
РЕДАКТИРОВАТЬ: Чтобы уточнить, я тестирую тот же удаленный сервер, я просто запускаю ab
в разных местах.
Между двумя результатами есть большая разница. Большая разница из-за ограничений пропускной способности моего интернет-провайдера или других ограничений моего рабочего стола Mac? Какой результат более точно отражает производительность сервера?
Результаты Media Temple
Concurrency Level: 50
Time taken for tests: 10.397 seconds
Complete requests: 7911
Failed requests: 0
Write errors: 0
Total transferred: 36355218 bytes
HTML transferred: 33767013 bytes
Requests per second: 791.07 [#/sec] (mean)
Time per request: 63.206 [ms] (mean)
Time per request: 1.264 [ms] (mean, across all concurrent requests)
Transfer rate: 3550.16 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 15 23 142.9 17 3019
Processing: 20 38 28.3 37 1093
Waiting: 20 36 23.8 36 1092
Total: 36 62 145.5 54 3063
Результаты локального рабочего стола Mac
Concurrency Level: 50
Time taken for tests: 10.159 seconds
Complete requests: 169
Failed requests: 0
Write errors: 0
Total transferred: 790168 bytes
HTML transferred: 733924 bytes
Requests per second: 16.64 [#/sec] (mean)
Time per request: 3005.589 [ms] (mean)
Time per request: 60.112 [ms] (mean, across all concurrent requests)
Transfer rate: 75.96 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 30 2438 3568.0 379 9217
Processing: 0 95 714.8 3 9291
Waiting: 0 41 68.1 2 191
Total: 137 2533 3579.5 441 9354
Бенчмаркинг локально не может дать вам никаких указаний о том, как ваш сайт будет работать на удаленном хосте, если вы не сможете реплицировать оборудование, программное обеспечение, работающее и т. Д., На удаленном хосте.
Разница в результатах нормальная, поскольку вы тестируете две совершенно разные системы. Я бы порекомендовал вам рассмотреть результаты удаленного тестирования, поскольку они должны отражать (и давать вам представление) о том, сколько соединений может поддерживать ваше приложение.
Также, осада - отличный инструмент для этого. Как ab, так и siege можно легко создать скрипт для автоматизации и сравнения результатов тестирования, но siege позволяет запрашивать случайные страницы вместо одного конкретного URL, что обеспечивает более реалистичный тест.
Надеюсь это поможет. Удачи.
Я собираюсь сделать вывод, что на рабочий стол Mac в моей квартире существуют местные ограничения. Эти ограничения могут быть на уровне настольного компьютера, маршрутизатора или провайдера.
Тем не менее, мой рабочий стол Mac не может выполнять тесты ab на удаленном сервере (назовем его IP-адрес сервера 66.55.44.33) на том же уровне, что и другой сервер (назовем этот сервер 88.77.66.55) в центре обработки данных.
Итак, когда я использую свой рабочий стол Mac для ab test 66.55.44.33, результаты показывают 16 запросов / с.
Когда я использую 88.77.66.55 to ab test 66.55.44.33, результаты показывают 800 запросов / с.
Обратите внимание, что тестируемый сервер (66.55.44.33) находится в центре обработки данных в Атланте. Мой локальный рабочий стол находится в Роли, Северная Каролина. Второй сервер (88.77.66.55) находится в центре обработки данных в Фениксе.