Описание тега hidamari-sketch
tcp_mem более важен, поскольку он определяет, как стек TCP должен вести себя, когда дело доходит до использования памяти. ИМО отправки и получения буфера должен быть кратен tcp_mem. Вот ссылка на формулу для получения буфера: http://www.acc.umu.se/~maswan/linux-netperf.txt. Короче:
Накладные расходы: окна/2^Значение tcp_adv_win_scale (значение tcp_adv_win_scale по умолчанию-2) Так для параметров по умолчанию Linux для окне получите (tcp_rmem): 87380 - (87380 / 2^2) = 65536. Учитывая трансатлантических связей (150 мс РТТ), максимальная производительность заканчивается: 65536/0.150 = 436906 байт/с или около 400 Кбайт/с, что сегодня очень медленно. С увеличением размера по умолчанию: (873800 - 873800/2^2)/0.150 = 4369000 байт/с, или около 4Mbytes/С, что является экономически эффективным для современной сети. И обратите внимание, что это по умолчанию, если отправитель настроен с большим размером окна будет счастливо масштаба до 10 раз (8738000*0.75/0.150 = ~40Mbytes/с), очень хорошо для современная сеть.
Вот что говорится в статье о tcp_mem:
Как убрать искусственное ограничение на производительность TCP, без этого ограничения вы ограничены доступен сквозной полосы пропускания и потери. Так что вы можете в конечном итоге более эффективно насыщать свой Uplink, но TCP-это хорошо справляюсь это.
ИМО больше среднего значения tcp_mem ускоряет соединение при потере менее безопасности и немного увеличить использование памяти.
Вы можете следить за сетевой стек с:
грэп skbuff в /proc/slabinfo