Ситуация такая, что обычный PHP-скрипт вот так грузит сервер (картинка). Причем опытным путем выяснилось, что время загрузки страницы не сильно уменьшается при включении $db['default']['cache_on'] = TRUE;
Раз скрипт работает, не выдает ошибок, значит нет зацикливаний и тд, я правильно понимаю?
В какую сторону копать? Такое время загрузки ощутимо заметно.
5 3603
Еще записи по теме
- Категория + метка, как реализовать?
- Изменить ссылки на метки
- Убрать транслитерацию (сделать кирилический ЧПУ)
- Загрузка изображений по ссылке или из буфера (html5)
- Опасен ли перенос page.php из папки common в папку шаблона?
- Можно ли выключить ЧПУ чтобы ссылки были типа id12345?
- Не запустился на хостинге Ms
Во-первых, при любом кешировании первоначальная загрузка страницы будет долгой. Тут скорее речь о том, чтобы страдал только "первопроходец", а у остальных посетителей всё будет летать.
Во-вторых, как раз таки количество запросов БД и является основной причиной такого большого времени формирования страницы.
Отсюда рекомендация: освоить стандартные функции кеширования (mso_get_cache и mso_add_cache - в недрах дефолтного шаблона много примеров их использования в паре) включить плагин sm_profiler (в нём есть информация по времени исполнения каждого запроса) и постепенно, запрос за запросом, настроить кеширование всех "тяжёлых" запросов в рамках вашего шаблона.
Илья, Спасибо за рекомендации!
Да, я ориентировалась не на первую загрузку страницы при включении кэширования, а на последующие. При последующих загрузках в информации указывается, что используется 0 запросов к БД, то есть вообще нет запросов. При этом время загрузки страницы не опускается ниже 1,5с. Я правильно понимаю, что mso_get_cache и mso_add_cache мне не помогут в этом случае?
А циклы foreach могут влиять на время исполнения скрипта? Например, если на странице 10 циклов и каждый по 1000 обходов, это много?
P.S. при отправке этого вопроса на МаксХабе в информации было указано больше 80 запросов SQL и ооочень маленькое время загрузки.
Конечно могут и скорее всего влияют.
Помимо SQL запросов на время также может влиять доступные сайту вычислительные мощности сервера. Так, на обычных (shared) хостингах ваш сайт может делить сервер с сотнями сайтов и ему фактически будет доставаться очень мало процессорного времени. МаксХаб работает на минимальном VDS, где во-первых, есть гарантированный объём ресурсов, а во-вторых, этот ресурс делится между тремя малопосещаемыми сайтами, т.е. ресурсов много. В общем, после циклов думаю стоит поднять вопрос о хостинге.
А если в целом, 2с. считается большим временем загрузки? Какое время считается оптимальным (диапазон)?
Да. Оптимально не более 1.5 с. А в идеале менее одной.
Со "скоростью" Максайта я сам лично столкнулся. Когда на сайте более 5-6 тыс записей и более 50 -60-ти категорий, Максайт пытается повесить сервер, на котором работает.
Решается все путем оптимизации SQL и, ГЛАВНОЕ - избавление от бесконечного числа FOREACH, которых в системе бесчисленное множество.