У меня есть веб-приложение, которое содержит много уникальных страниц. Как часто бывает, быстро образовался 10% пул самых популярных страниц и именно эти страницы лихо обрабатываются memcached. Проблема в том, что проект посвящен очень узкому направлению коммерции и каждый визит реально очень важен и хочется, чтобы даже при обращении к менее популярным страницам, все грузилось быстро. Еще не приятно видеть санкции от Google и Яндекса по поводу того, что сайт работает медленно.
В самом движке приложения нет способа "отправить все страницы в кэш" и я пытаюсь найти пример скрипта или последовательности действий, чтобы иметь возможно в любой момент загрузить в кеш все страницы проекта. Можете рассказать, как вы делаете это на своих проектах и возможно плюсы/минусы подобного решения?
АртемЪ, спасибо за комментарий. Я пытаюсь решить задачу "как сделать быстрой загрузку не популярных страниц". С моим уровнем знаний, если страница попала в кэш memcached, то страница будет грузится быстро, но если к не популярной странице обращение впервые, то и в кэше ее не будет. Вот и думаю, как отправить все страницы сайта в кэш.
Все просто:
1 Берете ваш access.log за неделю например
2 делает топ 100 или 1000 самых популярных запросов
3 убираете лишние запросы - логин формы, капчи и тд.
4 то что осталось записываете как список ссылок который можно отдать curl
5 гоняете некоторое время циклом curl по списку ссылок из пункта 4
6 profit!
В принципе они для любой платформы похожи. Я например разогреваю Sharepoint подвесив скрипт на перезагрузку сервера. После любой перезагрузки вызываются адреса порталов и репортов.
Только обратите внимание на авторизацию и скачивание всего контента.