Почему сервер под невысокой загрузкой медленно отвечает и ping растет до 80мс?
В общем то на первый взгляд ситуация кажется нормальной. При такой заметной нагрузке пинг неизбежно должен вырасти.
Одно дело когда нет нагрузки - послал запрос, и сразу получил ответ, а под нагрузкой - послал запрос, этот запрос постоял в очереди, и вернулся с заметной задержкой. Очередь дело неприятное. Что в супермаркете, что в сети.
Интернет канал потребляется в среднем на 200мбит а локальный канал 250мбит то есть только 20-25% нагрузки и такие проблемы.
Тут все не так просто с нагрузкой в 25%.
Вот представьте - есть участок автодороги, с пропускной способностью 100тыс автомобилей в сутки. Это значит что он может без проблем и пробок комфортно пропустить не более 100тыс машин в сутки.
В реальности за сутки по нему проезжает в среднем около 25тыс автомобилей - нагрузка 25%. Все отлично.
Как вы думаете есть ли пробки на данном участке?
Конечно же есть! И очень большие.
Все просто - за сутки он может пропустить 100тыс машин, за час - 100/24=4,1тыс машин.
Утром в час пик этот участок пытаются проехать 10тыс машин, что более чем вдвое превышает его пропускную способность, и образуется длинная пробка, в которой люди стоят целый час.
Вечером та же ситуация, те же 10тыс машин пытаются проехать его за час.
А в остальные 22 часа по этому участку свободно и комфортно проезжают еще 5тыс машин.
В итоге имеем среднюю загрузку трассы на 25% и дикие пробки и явную перегрузку пропускной способности.
То же самое в сети - вы смотрите среднюю нагрузку за секунду. Она равна 25% вроде все красиво.
На самом деле - у вас там огромные очереди в сотни миллисекунд чередуются с абсолютно пустым каналом.
Вывод - по гигабитному каналу можно прогнать до 1гигабита, без повышения пинга (стояния в очередях) только в случае абсолютно равномерной нагрузки на канал.
А поскольку нагрузка равномерной бывает крайне редко - пинг будет расти при любой заметной нагрузке, потому что будут очереди.