Задать вопрос
@Evgeny_A

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

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

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

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

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

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

А так - Вам правильно посоветовали просто скачать весь сайт.
Ответ написан
Комментировать
Для SEO можно пойти таким путём: подготовить заранее статику для популярных или всех страниц. Работает это так:
1. Вы берете свой sitemap и запихиваете условно в prerender.io или sigmaapi.com
2. Они проходят по каждой странице из sitemap с нужной вам частотой и готовят статику.
3. Далее вы либо скачиваете к себе эту статику, либо настраиваете в своём nginx прокси к их серверам.
4. Когда обращается поисковый бот, то ему довольно шустро отдается статика страницы.
Это все легально с точки зрения поисковых систем. Google к примеру сам рекомендует готовить статику для JS тяжелых сайтов https://developers.google.com/search/docs/crawling...

Вариант попроще, если сами не хотите код писать:
— Вы просто запихиваете в эти сервисы свой sitemap и они обходят ваши страницы. При обходе ваши страницы прогреваются и остаются в кэше.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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