Как стать автором
Обновить

Комментарии 18

Не забывайте, что самое страшное по производительности — запросы к БД
Поэтому очень важна серверная часть тех страниц, которые запрашиваются
Естественно. Но в случае измерения вторым способом мы получаем суммарное время с учетом всего.
а исходя из чего вы infobox приравняли к ispserver?
Только исходя из результата ubench.
Брал раньше вдску у infobox'a, стояла cent os 4.7 final. Мне не понравилось, слишком много тормозов и простейшие команды выполнялись оч долго… С недавних пор у них вдс стали крутится на Hyper-V, раньше юзалась технология OpenVZ…
У меня как раз Hyper-V технология. И все равно какие-то тормоза.
Мораль — если на куске говна пускать OpenVz или Hyper-V, то все равно буду тормоза
Нечего экономить на железе!
На самом деле не очень корректное измерение. Зачем тут AJAX? Крутое слово вот и нужно это пихать во все дыры ;) Он тут абсолютно бесполезен, почему я думаю ты и сам уже догадался.

А по сути идет измерение времение генерации страниц и доставка их до сервера, где запускается exec.php. А скорости между серверами всегда будут значительно выше, чем до клиента с его проблемами на последней миле, так что в этом отношении тест синтетический и не отражает реальной ситуации клиент-сервер.
AJAX был нужен только чтобы плавно показать процесс опроса — я пробовал включать ob_implicit_flush и пользовать multi_curl, но страница, почему-то, все равно дожидалась конца работы всех запросов и только тогда уходила в браузер — т.е. пару минут «оператор» видел белый экран, а потом «оп» и вся страница целиком.

Насчет синтетики не спорю, но в данном случае тестировался не канал «клиент-сервер», а именно генерящий страницу сервер.
Ну так нужно ob_flush() и flush() делать ;)
Ну вообще-то функция ob_implicit_flush выключает буферизацию и любой print|echo и иже с ними идут сразу на вывод. Но я все равно для надежности делал flush, не помогло почему-то… разбираться не стал — просто сделал AJAX'ом…
Эээ… вроде вызваный без флагов он его как раз включает.
Для максимально надежного отключения буферизации на любом уровне, я использую такой код:
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
ob_implicit_flush(1);

помогает. А почему убрали ISPServer?
Ну, т.к. RuWeb работает на той же платформе, ресурсов дает больше, а стоит меньше, и явно выигрывает по производительности — ISPServer был «отстранен», плюс там тестовый период рано кончился.
К чему квантовая попугаелогия, если есть ab (apache benchmark) для одной страницы и много разных инструментов вроде siege для эмуляции серфинга с загрузкой css, картинок и прочего? Если тест проводится издалека, то дополнительно взять средний пинг до сервера, отнять от результатов — получится реальное время генерации страницы, без всяких сомнений «правильно ли считает самописный бенчмарк».

Кстати, первый из таблицы от меня вообще не доступен.
Там площадки отмирают потихоньку — тестовые периоды кончаются… Насчет бенчмарков — в комментариях я как раз и ждал подобных предложений, потому как я про два ваших бенча не знал… Спасибо за совет.
Не знать ab? )) Это же наипервейшая мерялка! Кстати на фряхе с ним есть небольшой косячок alekciy.livejournal.com/1334.html
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации