Резюме
Когда я смотрю на stackoverflow и в сети, я обнаруживаю, что в целом отсутствует хорошая документация по передовым методам кэширования высокопроизводительного сайта, использующего сеансы. Было бы полезно, если бы мы могли поделиться некоторыми идеями о некоторых основных строительных блоках, особенно о кэшировании. В рамках данного обсуждения я избегаю кэширования памяти и сосредоточиваюсь на кэшировании статики и полностью сгенерированных страниц.
Итак, чтобы настроить сценарий, представьте себе веб-сервер (скажем, nginx), обратный прокси-сервер (скажем, лак), сервер приложений (что угодно), сервер базы данных (скажем, mysql).
Анонимный
- Статические элементы (gif/jpg и т. д.)
- Полудинамический (js/css)
- Динамический
Вы вошли
- Статический
- Полудинамический (js/css)
- Динамический
Вообще говоря, все анонимные сообщения должны быть кэшируемыми, а большинство зарегистрированных (не обращайте внимания на динамические, пока без ESI).
Анон #1
- Установить удаленно Истекает
- Установите ETag, если это возможно
- Кэш-контроль: max-age=315360000
Анон №2 (обратный прокси-сервер кэширует результат, если он генерируется динамически, иначе применяются правила Анона №1)
- Cache-Control: общедоступный, s-maxage=3000
Анон #3
- Cache-Control: общедоступный, s-maxage=300
Вы вошли в систему #1
- Установить удаленно Истекает
- Установите ETag, если это возможно
- Кэш-контроль: max-age=315360000
Вошел в систему #2 (обратный прокси-сервер кэширует результат, если он генерируется динамически, иначе применяются правила входа в систему #1)
- Cache-Control: общедоступный, s-maxage=3000
Вы вошли в систему #3
- Cache-Control: s-maxage=0, необходимо перепроверить
Каковы ваши предложения? Я буду обновлять пост по мере поступления ответов.