Производительность и надежность

Почему мой VPS медленный?

Краткий ответ

В порядке вероятности: нехватка памяти, вызывающая своп-трэшинг, насыщение дискового ввода-вывода, CPU steal time на общих ядрах, неоптимизированная база данных или сетевая задержка до ваших пользователей. Проверьте free -h и столбец st в top в первую очередь — вместе они определяют причину примерно в восьмидесяти процентах случаев.

Память — самая частая причина и наименее очевидная. Как только рабочий набор превышает RAM, ядро начинает своп, и дисковые задержки заменяют задержки памяти — в десять тысяч раз. Симптом — сервер, который чувствует себя нормально, а затем внезапно перестаёт.

Вторая по распространённости проблема — диск. Запустите ioping или fio: у NVMe задержка должна быть субмиллисекундной. Если это не так, либо вы на неправильном уровне хранилища, либо сосед перегружает его.

  • free -h — if swap is in use and growing, that is the answer
  • top — столбец st выше 2–3% означает время steal
  • iostat -x 1 — %util near 100 means disk saturation
  • Журнал медленных запросов базы данных — обычно не хватает индекса, а не мощности сервера
  • mtr до пользовательской сети — потеря пакетов на пути — не проблема сервера

См. также: CPU steal time · NVMe

7 ответов в разделе Производительность и надежность

Назад к все ответы