разные результаты теста ApacheBench с URL-адресом, заканчивающимся на «/» или нет

Я хотел бы проверить производительность php-фреймворка Lumen. Поэтому я использую ab для этого теста. Но два очень разных результата были получены из следующих двух команд:

ab -n 100 -c 20 http://local.lumen.com/login/

и

ab -n 100 -c 20 http://local.lumen.com/login

первый намного быстрее второго. QPS примерно 7000+ против 40+. Мой вопрос в том, почему, и кому из них я должен доверять.

Если я посещу эти два URL-адреса в браузере, оба они ведут на одну и ту же страницу, которая называется http://local.lumen.com/login. На этой странице почти ничего нет, кроме капчи. Я попробовал этот тест на другом фреймворке Laravel. Разница все же есть.

P.S. Среда: win7 x86_64, wampserver 2.5


person JasonW    schedule 26.05.2015    source источник


Ответы (1)


Я не уверен, как именно работает команда ab, но я уверен, что сервер (apache) срабатывает и выполняет перенаправление 301, поэтому сам PHP вообще не поражается.

ab -n 100 -c 20 http://local.lumen.com/login/

example.com/login/ --- [301] --- to example.com/login

ab измеряет само перенаправление

когда ты делаешь

ab -n 100 -c 20 http://local.lumen.com/login

ab измеряет время выполнения PHP


Это все потому, что Apache Benchmark не следует перенаправлениям из обсуждения здесь https://stackoverflow.com/a/22164728/1564365

Вот дополнительная информация об ab, которую я нашел полезной https://www.rsreese.com/benchmarking-websites-with-ab-and-tsung/

person Kyslik    schedule 27.05.2015
comment
Спасибо, я проверил журнал доступа. Это перенаправление 301 при посещении http://local.lumen.com/login/ - person JasonW; 27.05.2015
comment
Кроме того, когда вы проверяете браузер, поскольку 301 является немедленным / быстрым, вы не чувствуете скорости. + ваш URL изменится с login/ на login - person Kyslik; 27.05.2015