Я получаю спорадически высокую нагрузку на сервер в приложении Drupal (действительно высокая. 8 ядер, средняя нагрузка 50). Нагрузка обычно сидит между 5-10.
Приложение Drupal находится за отдельным сервером Varnish, благодаря которому большинство анонимных пользователей выглядит привлекательно.
Само приложение Drupal довольно тяжелое (мы работаем над этим, но у нас есть более насущные требования). Когда у нас были большие проблемы с этим в прошлом, это когда анонимные пользователи обходили Varnih.
Я вижу, что количество запросов к Nginx (в обход Varnish) увеличивается в это время, но я не уверен, что с этим делать. Я также уверен, что количество аутентифицированных пользователей в эти периоды существенно не увеличивается.
Как мне подойти к устранению этой проблемы?
Команда varnishtop -b
позволит вам увидеть, что обходит Varnish и попадает в бэкэнд. Глядя на эти запросы, если их не должно быть, у вас есть хорошая отправная точка для изменения вашего VCL, чтобы исправить это. В противном случае он, по крайней мере, сообщит вам наиболее частые обращения, которые достигают вашего бэкэнда. Исходя из этого, вы можете начать делать разумный выбор, на какой странице (-ах) профилировать дальше (например, с помощью XHProf или такого инструмента, как NewRelic или AppNeta).