Время генерации страницы: что можно считать нормой?

Фанат

oncle terrible
Команда форума
Не понял. "50 кило" - это память? у меня уже при начальной загрузке PHP - 256. А в конце - 5000. И это именно обычная страница со списком товаров.
Я думаю, что чувак имел в виду размер отдаваемой страницы.
И думаю, что он здесь больше не появится, а единственной целью было повесить ссылочку в профиле.
 

hell0w0rd

Продвинутый новичок
Фанат Теперь понял)) Хорошо, но тогда чтобы определить когда действительно кеширование понадобится - надо тесты провести, или что?
 

Фанат

oncle terrible
Команда форума
Фанат Теперь понял)) Хорошо, но тогда чтобы определить когда действительно кеширование понадобится - надо тесты провести, или что?
Кстати, самое смешное, что для такого запроса,который делается на каждой странице, меню будет прочно лежать в мускулевском квери кэше - т.е. отдаваться из памяти, минуя диск. (Хотя даже и с диска должно быть все равно быстро).

Я в последнее время делал так.
Любой запрос, который идет на фронтенд, начала прогоняется через эксплейн и профайлинг.
Оптимизируется.
Оценивается принципиальная возможность сделать запрос оптимальным.
И только если такой возможности нет - принимается решение о кэшировании.
Или о применении другой технологии. К примеру, я вот сейчас подумал, что для последней задачи, для которой я писал кэш, прекрасно подошел бы Сфинкс, поскольку речь шла о поиске.

Но это все относится к сайту, который уже профилировали.
Если до сих пор этого не делалось, то сначала надол профилировать сайт, и выяснять, КАКИЕ КОНКРЕТНО УЧАСТКИ тормозят. Это, опять же, принципиальный вопрос - оптимизировать надо то, что тормозит, а не то, что ударило тебе в голову. Ускорив отображение меню, скажем, в два раза, ты ускоришь работу всего сайта на сотую долю процента. В то время как затратив столько же усилий в реально нужном месте - ускоришь в разы.
 

Фанат

oncle terrible
Команда форума
Вот например профайлил я как-то Уордпресс.
причем не для дела а просто так - уж очень меня поразило просто чудовищное время загрузки.
И оказалось, что основное время сжирает чтение огромного файла с геттекстовым переводом. Тупо закэшировав результат загрузки в файл, я сэкономил одну из двух секунд, которые требовались для открытия страницы.

А колупался бы с меню - получил бы прирост ноль целых, хрен десятых.
 

Welcome

Новичок
Дело не в пользователях. А в примерной оценке оптимальности.
0,2, имхо, уже многовато.
Смотри, есть в сайт, который дергает 2 апи - ответ от 0,5 до 1 сек. Дальше веселей, самый тяжелый запрос уходит на текстовую таблицу в 3Гб, и он сжирает еще 0,5 сек. + мелкая шушера еще 0,5. Какие тут 0,2? Как говорит наш великий шеф: "людям это не нравиться". И какой выход?
 

hell0w0rd

Продвинутый новичок
Welcome А нет возможности сделать запросы к апи до запроса клиентом? И все обращения к базе на вставку делать в деструкторах?
 

Redjik

Джедай-мастер
:D Я к тому что можно старые результаты запросов сохранять, если АПИ не большое - вообще пройтись по всему и скачивать актуальную инфу каждый день)
не - лучше кешировать (да еще и по крону).
с деструкторами шаманство получается, которое работает нормально только с отключенным gzip - мне этот вариант не очень нравится (http://stackoverflow.com/questions/4870697/php-flush-that-works-even-in-nginx)
 

hell0w0rd

Продвинутый новичок
не - лучше кешировать (да еще и по крону).
с деструкторами шаманство получается, которое работает нормально только с отключенным gzip - мне этот вариант не очень нравится (http://stackoverflow.com/questions/4870697/php-flush-that-works-even-in-nginx)
Кстати вот у меня был всегда вопрос - как совершать какие-то действия после отправки ответа не в деструкторах?
Ну кроме очередей, запись которых тоже требует времени
 

Welcome

Новичок
Welcome А нет возможности сделать запросы к апи до запроса клиентом? И все обращения к базе на вставку делать в деструкторах?
И что это за запросы?
Поиск доступных номеров в отелях.
Ну так навскидку 0,5млн отелей + разные интервалы дат + количество людей + неизвестно остались ли еще номера, или кто-то из другой конторы уже забил этот номер.
 

Вурдалак

Продвинутый новичок
Поиск можно вывести в AJAX, чтобы пользователя меньше напрягало. Если запросы независимые, то можно распараллелить (curl_multi_exec). А вот это:
Дальше веселей, самый тяжелый запрос уходит на текстовую таблицу в 3Гб, и он сжирает еще 0,5 сек. + мелкая шушера еще 0,5.
ненормально и можно оптимизировать.
 
Сверху