Назад | Перейти на главную страницу

Varnish Cache: как Varnish взаимодействует с другими системами кэширования?

Я подумываю об установке Varnish cache перед платформой моего форума, чтобы еще больше ускорить ее.

Он уже запускает Percona MySQL DB, PHP 5.5.8 (который имеет встроенное и запущенное кеширование Opcode) и memcached. Сайт работает через CDN, который также кэширует некоторые ресурсы.

РЕДАКТИРОВАТЬ: кластеризации нет, это один сервер.

Является ли Varnish дублированием / конфликтом любого из моих текущих слоев кеширования или он будет хорошим дополнением к моим существующим кешам?

Спасибо.

Wether это хорошо дополнение зависит от вашей точной настройки, для которой здесь недостаточно информации. Например, какие ресурсы уже кэшированы вашей CDN, правильно ли установлены сроки истечения ваших ресурсов, какой основной вид контента ваш форум, среди других факторов.

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

Не должно причинить боль хотя в большинстве случаев лучше всего просто протестировать его и поиграть с настройками.

Varnish может помочь, только если большинство посетителей вашего сайта анонимный, т.е. они никогда не входят в систему и не участвуют. Запросы от авторизованных пользователей не могут быть безопасно кэшированы на этом уровне, и любой разумный веб-сайт установит Cache-Control: private (или возможно no-cache если он менее хорошо спроектирован), чтобы указать это.

Однако само программное обеспечение вашего форума может работать против вас. Например, SMF устанавливает Cache-Control: private и файлы cookie даже для анонимных пользователей; первый нарушает кеширование и требует экстремальной гимнастики для работы. Это совершенно неправильное поведение, но я не думаю, что скоро оно изменится.

Рискну предположить, что вы задаете неправильные вопросы своему сайту.

Что медленно, а что быстро, субъективно и имеет смысл только тогда, когда они определены в контролируемом контексте; и некоторые вещи находятся вне вашего контроля. Например, при прочих равных, время отклика вашего сайта будет меньше при подключении к локальной сети, чем при подключении провайдера мобильной связи.

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

Как отметил Майкл Хэмптон, Varnish лучше всего подходит для анонимных пользователей. Что касается форума, вам будет полезно изучить другие способы повышения производительности вашего сайта. Удачи!