Я хотел бы запустить симуляции на приемном буфере Linux TCP, чтобы выяснить, насколько большим должен быть мой буфер.

Есть ли какое-либо программное обеспечение для такого моделирования? Было бы удобно иметь возможность заполнить буфер, чтобы увидеть, что происходит с моим приложением.

Обновление: кажется, что мы используем большие буферы, потому что мы получаем переполнение буфера. Наша сеть работает на скорости 1 Гбит, а пинг - всего 0,08 мс. Наши настройки буфера выглядят так:

net.ipv4.icmp_echo_ignore_broadcasts = 1 
net.ipv4.conf.all.rp_filter = 1 
fs.inotify.max_user_watches = 65536 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216 
net.core.rmem_default = 1733248 
net.core.wmem_default = 1733248 
net.ipv4.tcp_rmem = 4096 1733248 16777216 
net.ipv4.tcp_wmem = 4096 1733248 16777216 
net.ipv4.tcp_window_scaling = 1 
net.ipv4.tcp_timestamps = 1

1 ответ1

1

Проверьте эту статью. Кажется, что он хорошо описывает процесс оптимизации, и у него есть пример кода (Java и C) для доступа / изменения размеров. Там также есть ссылка на инструмент Linux для определения оптимального размера.

Эта другая статья показывает некоторые вещи, к которым вы можете получить доступ, используя файловую систему /proc /sys, которая является хорошим источником информации в реальном времени. Он показывает, как использовать его с помощью командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .