Вопрос об экстремальной нагрузке: дисковый ввод-вывод, процессор, использование памяти

Привет! В последнее время наш инстанс всё чаще получает сообщения об «экстремальной нагрузке». Сегодня это произошло в 9:40.

Я посмотрел логи сервера. В 9:40 загрузка CPU и общая нагрузка казались в норме:

Память в течение дня также ведёт себя довольно стабильно:

Пик, похоже, связан с дисковым вводом-выводом и входящим/исходящим трафиком:

Это заставило меня заподозрить, что в 9:40 пришёл запрос от поискового робота. Но я не знаю, как это проверить. Я просмотрел список роботов и количество запросов: большинство из них приходят от Google и Bing, поэтому точно не будем их блокировать.

Это привело меня к следующим вопросам:

  • Есть ли лог, где можно увидеть, кто обращается к сайту в конкретный момент времени?
  • Можно ли настроить поисковых роботов так, чтобы они распределяли свои запросы во времени, учитывая, что это «хорошие» роботы?
  • Поможет ли увеличение CPU/памяти на сервере в данной ситуации? Я немного сомневаюсь в этом, так как использование CPU и памяти не показало пиков. Не слишком ли высок средний уровень использования памяти на уровне 80%?

У нас конфигурация 2 vCPU / 2 ГБ памяти. Мы установили 4 воркера Unicorn, что, кажется, соответствует объёму доступной оперативной памяти.

Да, проверьте /var/discourse/shared/standalone/log/var-log/nginx/access.log.

Да, используйте настройку сайта «Замедлить пользовательских агентов краулеров».

Похоже, что в пиковый момент в 9:40 наблюдалось ожидание ввода-вывода (I/O wait). Увеличение объёма ОЗУ может помочь, так как больше данных сможет кэшироваться, но я не знаю, был ли этот пик связан с чтением или записью, поскольку вы обрезали легенду графика :upside_down_face:.

Тем не менее, если у вас есть такая возможность, увеличение размера droplet до следующего доступного всегда пойдёт на пользу.

Спасибо. Я проверил лог в 9:40, и запросы выглядят как исходящие от действий пользователей (браузеры клиентов), а не от краулеров.

Зелёный пик — это чтение.

Да, раз похоже, что это не краулеры, я думаю, что попробую перейти на следующий размер droplet и увеличить объем оперативной памяти с 2 ГБ до 4 ГБ, чтобы посмотреть, поможет ли это.

Меня немного удивляет, что причиной стала активность пользователей, так как у меня всегда было впечатление, что за последние два года активных участников стало меньше, чем раньше. Но когда я посмотрел Google Analytics, то увидел, что число пользователей стабильно растёт — возможно, даже если число авторов постов сократилось, то число «наблюдателей» (lurkers) выросло…

Спасибо за советы. Очень ценю это.

Похоже, что удвоение памяти действительно имеет значение, по крайней мере, судя по графикам, особенно в отношении дискового ввода-вывода и скачков нагрузки.