@Evgeny_A

Покажите пример прогрева кеша для своего проекта?

Здравствуйте.

У меня есть веб-приложение, которое содержит много уникальных страниц. Как часто бывает, быстро образовался 10% пул самых популярных страниц и именно эти страницы лихо обрабатываются memcached. Проблема в том, что проект посвящен очень узкому направлению коммерции и каждый визит реально очень важен и хочется, чтобы даже при обращении к менее популярным страницам, все грузилось быстро. Еще не приятно видеть санкции от Google и Яндекса по поводу того, что сайт работает медленно.

В самом движке приложения нет способа "отправить все страницы в кэш" и я пытаюсь найти пример скрипта или последовательности действий, чтобы иметь возможно в любой момент загрузить в кеш все страницы проекта. Можете рассказать, как вы делаете это на своих проектах и возможно плюсы/минусы подобного решения?
  • Вопрос задан
  • 1412 просмотров
Решения вопроса 1
@MechanID
Админ хостинг провайдера
Все просто:
1 Берете ваш access.log за неделю например
2 делает топ 100 или 1000 самых популярных запросов
3 убираете лишние запросы - логин формы, капчи и тд.
4 то что осталось записываете как список ссылок который можно отдать curl
5 гоняете некоторое время циклом curl по списку ссылок из пункта 4
6 profit!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Посмотрите в эту сторону ключи для поиска в гугле "curl warm up script url"
https://gist.github.com/jaseclamp/27c4b74e535ddd749bbe

В принципе они для любой платформы похожи. Я например разогреваю Sharepoint подвесив скрипт на перезагрузку сервера. После любой перезагрузки вызываются адреса порталов и репортов.

Только обратите внимание на авторизацию и скачивание всего контента.
Ответ написан
Комментировать
@Karpion
Хорошо бы выяснить, что именно тормозит - процессор или диск. Возможно, проще всего апнуть компьютер или оптимизировать CMS.

А так - Вам правильно посоветовали просто скачать весь сайт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы