Искать  
 
   
1 из 2
1
Кэширование вывода порядка 10k категорий
Отправлено: 24 Декабрь 2009 02:35 P.M.   [ Игнорировать ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Вывожу категории:

{exp:weblog:categories category_group="2" disable="category_fields" show_empty="no" style="nested" weblog="catalog"}

{category_name}

{
/exp:weblog:categories} 

У меня их порядка 10,000. Пустая страница только с этим кодом выполняется 7 секунд на локалхосте. Врубил кэширование - не помогло. Как быть?

Профиль
 
 
Отправлено: 24 Декабрь 2009 04:30 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07
Максим - 24 Декабрь 2009 02:35 P.M.

Врубил кэширование - не помогло. Как быть?

какое кеширование - тегов, запросов или шаблонов?

можно в отдельный шаблон, его подключать через ембед, а сам шаблон кешировать

Профиль
 
 
Отправлено: 24 Декабрь 2009 04:41 P.M.   [ Игнорировать ]   [ # 2 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

все вида кэширования включены

Профиль
 
 
Отправлено: 24 Декабрь 2009 04:47 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07
Максим - 24 Декабрь 2009 04:41 P.M.

все вида кэширования включены

все виды одновременно не нужно, так как http://eeclub.ru/docs/general/caching.html#template_caching

Примечание: Кэширование шаблонов заменяет кэширование тегов. Нет никакой дополнительной выгоды от использования кэширования тегов и шаблонов одновременно. Если включено кэширование страниц, то не действуют никакие другие виды кэширования. Поэтому, если вы хотите кэшировать отдельные теги, выключите кэширование страниц.

....попробуй только кеширование тегов

Профиль
 
 
Отправлено: 16 Январь 2010 12:41 A.M.   [ Игнорировать ]   [ # 4 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Продолжу тему.. В админке когда октрываешь страницу редактирования, она тоже грузится порядка 8 секунд. Может с базой самой как-то поработаь? Я не очень в базах самих разбираюсь. Индексы как-то проставить? И про кэширование.. Есть 4 кэширования: веблога, sql запросов, шаблонов. Что за кэширование тэгов?

Профиль
 
 
Отправлено: 18 Январь 2010 02:12 P.M.   [ Игнорировать ]   [ # 5 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07
Максим - 16 Январь 2010 12:41 A.M.

Продолжу тему.. В админке когда октрываешь страницу редактирования, она тоже грузится порядка 8 секунд. Может с базой самой как-то поработаь? Я не очень в базах самих разбираюсь. Индексы как-то проставить? И про кэширование.. Есть 4 кэширования: веблога, sql запросов, шаблонов. Что за кэширование тэгов?

а почему такое количество категорий, как-то по другому не можно было сделать? А о кешировании тегов написано на той странице документации линк на которую я дал выше

Профиль
 
 
Отправлено: 18 Январь 2010 02:13 P.M.   [ Игнорировать ]   [ # 6 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Ну такое вот количество категорий. Магазин большой очень

Профиль
 
 
Отправлено: 11 Февраль 2010 02:38 P.M.   [ Игнорировать ]   [ # 7 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Еще раз подниму тему.
Вынес в отдельный шаблон вот этот код:

{exp:weblog:categories category_group="2" disable="category_fields" show_empty="no" style="nested" weblog="catalog" id="catalog_menu"}<a href="[removed] void(0);" class="list_search"></a><a href="{path=catalog/category/{category_url_title}}">{category_name}</a>{/exp:weblog:categories} 

- Включил кэширование этого шаблона на 10,080 минут (неделя, имено с такой частой граббиться каталог).
- Включил кэиширование sql запросов
- Включил кэширование  “Кэшировать динамические запросы к базе данных?”

Чем еще можно спасти ситуацию?

Профиль
 
 
Отправлено: 12 Февраль 2010 10:25 P.M.   [ Игнорировать ]   [ # 8 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

есть идея как сделать суровое кеширование. типа фокус-покус с подменой.

вкратце:
1. создаем диру куда будем сохранять html страницы твоего сайта (при обращении к ним)  - кеш
2. на выводе (core.output) перед тем как вывалить содержимое страницы на экран, проверяем наличие сей страницы в нашем кеше (в виде статического html файла), и, если, отсутствует - создаем файл и пишем в него из буфера
3. теперь, что бы реально сэкономить ресурсы сервера нужно до того, как подрубаются все инклюды с классами и запросы к базе (где то в index.php), делать такую же проверку на наличие файла в нашем кеше и вместо EE продолжения подсунуть посетителю его. Все. Ни одного запроса к базе. Чистая статика. + натравить gzip сжатие отдаваемого файла. Теперь скорость будет зависеть только от канала посетителя и размера загружаемого файла. А все средства кеширования EE - баловство. Сильно не помогает.
4. Просканировать сайт по всем линкам - например, XENU - получишь кеш всего сайта.

есть минусы - динамика пострадает - например, голосования - но ведь именно это можно и не кешировать.

PS
не знаю можно ли вмешиваться в код ядерных файлов. но и это обойти можно - проверку на наличие закешированной статической страницы можно вынести в htaccess (что его неимоверно может раздуть в зависимости от количества страниц...) - а вот создание кеша страниц - пока не знаю как...  надо промониторить хуки, подумать.

PPS
или воспользоваться WEBO Site SpeedUp

Профиль
 
 
Отправлено: 13 Февраль 2010 12:21 A.M.   [ Игнорировать ]   [ # 9 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02
Nik - 12 Февраль 2010 10:25 P.M.

есть идея как сделать суровое кеширование. типа фокус-покус с подменой.

вкратце:
1. создаем диру куда будем сохранять html страницы твоего сайта (при обращении к ним)  - кеш

Static Page Caching?

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 11:42 A.M.   [ Игнорировать ]   [ # 10 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27
Calm - 13 Февраль 2010 12:21 A.M.
Nik - 12 Февраль 2010 10:25 P.M.

есть идея как сделать суровое кеширование. типа фокус-покус с подменой.

вкратце:
1. создаем диру куда будем сохранять html страницы твоего сайта (при обращении к ним)  - кеш

Static Page Caching?

Как им пользоваться? Помогите на моем примере

Профиль
 
 
Отправлено: 13 Февраль 2010 05:31 P.M.   [ Игнорировать ]   [ # 11 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

Static Page Caching?

да, только самоделка, и ежели не встраиваться в интерфейс EE для управления кешированием, можно обойтись ~15 строчками кода сэкономив 35 бакинских, и насколько мне известно, Static Page Caching не дружит с модулем Structure

Профиль
 
 
Отправлено: 13 Февраль 2010 06:29 P.M.   [ Игнорировать ]   [ # 12 ]
Sr. Member
Avatar
RankRankRankRank
Всего сообщений:  463
Зарегистрирован  2009-08-07

По большому счету тебе нужно использовать “внешнюю” комплексную систему кэширования, по другому никак. Или кэширование средствами PHP реализовывать или настройками .htaccess в Apache. Могу порекомендовать это. Нечто подобное тоже реализовывал и помогло увеличить скорость загрузки сайта на 30-55%.

 Подпись 

Ум - как бюст: надо иметь, но выпячивать не стоит
SSD Cloud Hosting

Профиль
 
 
Отправлено: 22 Март 2010 02:13 P.M.   [ Игнорировать ]   [ # 13 ]
Студент
Avatar
RankRank
Всего сообщений:  142
Зарегистрирован  2008-01-02

Не знаю как выглядит полный код шаблона, но первое что рекомендую, так-это отказатся от комплексных кондишнлз, аля вместо {if xxx}{if:else}{/if} использовать {if xxx}{/if}{if xx}{/if}

Только сейчас столкнулся, выводил 6к записей, и не мог понять почему вечность выводится.

Профиль
 
 
Отправлено: 22 Март 2010 05:18 P.M.   [ Игнорировать ]   [ # 14 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Короч сделал так: по крону запускается скрипт и записывается в файл и ближайшую неделю (ровно раз во столько обновляется каталог) код грузится из html документа статичного

Профиль
 
 
Отправлено: 22 Март 2010 06:16 P.M.   [ Игнорировать ]   [ # 15 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

а каким способом подгружаешь статичный html?

Профиль
 
 
   
1 из 2
1