![Моделирование буфера TCP в Linux](https://rvso.com/image/1457456/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0%20TCP%20%D0%B2%20Linux.png)
Я хотел бы запустить моделирование на приемном буфере TCP Linux, чтобы узнать, насколько большим должен быть мой буфер.
Есть ли программное обеспечение для выполнения такого моделирования? Было бы удобно иметь возможность заполнить буфер, чтобы увидеть, что происходит с моим приложением.
Обновлять:Похоже, что мы используем слишком большие буферы, потому что буферы переполняются. Наша сеть на 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
ПроверятьЭта статья. Кажется, он хорошо описывает процесс оптимизации, и у него есть пример кода (Java и C) для доступа к размерам и их изменения. Также естьссылка на инструмент Linuxдля определения оптимального размера.
Эта другая статьяпоказать некоторые вещи, к которым можно получить доступ с помощью файловой системы /proc/sys, которая является хорошим источником информации в реальном времени. Он показывает, как использовать ее с помощью командной строки.