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

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

1
задан 24 July 2019 в 02:01
1 ответ

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

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

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

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

2
ответ дан 3 December 2019 в 20:06

Теги

Похожие вопросы