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

Как я узнаю, что мой Linux-сервер не справляется с сетевым трафиком, и что с этим делать?

Допустим, у меня есть веб-сервер, обслуживающий html-страницы при высокой нагрузке. Предположим, что по какой-то причине узким местом является не ЦП, не оперативная память и не диск, а, скорее, сама сеть. Как я могу сказать, что сервер Linux просто отправляет или получает слишком много трафика и не успевает за ним? Как узнать, превышает ли пропускная способность сети, скажем, 60% ее пропускной способности? Если он превышает емкость, как мне его масштабировать?

В общем, проанализируйте всю систему на предмет ограничений. Например, Методика ЕГЭ проверяет каждый ресурс на использование, насыщение и ошибки.

Все среды могут собирать простые простые для измерения показатели производительности, такие как использование ЦП и использование полосы пропускания интерфейса. В Linux такие инструменты, как netdata или perf может отображать довольно много показателей с мелкими деталями.

Глубокое понимание вашей среды помогает найти узкое место. Превышение максимальной пропускной способности на уровне 95 Мбит / с может быть связано со старым 100-мегабитным коммутатором на пути или из-за интернет-сервиса 100 Мбит / с. Или система хранения довольно медленная. Или сетевые карты сообщают о переполнении из-за того, что буферы пакетов очищаются недостаточно быстро.

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