Назад | Перейти на главную страницу

debian tcp - оптимизация для клиентов с потерей пакетов

У меня есть сервер debian с пропускной способностью 100 Мбит / с. Мои клиенты в основном подключаются к сети 3G, в среднем на 30 млн. У многих из них происходит потеря пакетов, редко, но каждый раз, когда пакет теряется, TCP-канал останавливается на 30 секунд или более, прежде чем все вернется в нормальное состояние.

Сервер использует около 5% процессора, памяти и пропускной способности.

Я просмотрел список опций для debian и настройки стека tcp: http://www.linuxinsight.com/proc_sys_net_ipv4.html

Интересно, какой параметр позволил бы серверу или клиенту меньше задерживать время при потере пакета. Любая идея ?

Очень сложно устранить проблемы потери пакетов - TCP это действительно не нравится, и он очень твердо предполагает, что это признак превышения пропускной способности, а не ненадежной сети. Со связью 3G это ... не всегда так.

http://linuxgazette.net/135/pfeiffer.html Документирует, как выбирать альтернативные алгоритмы управления перегрузкой, и содержит примечания о некоторых опциях, доступных в ядре Linux.

Вы почти наверняка хотите tcp_frto включен, поскольку он разработан для хорошей работы в средах с периодическими потерями, например в радиосети, и в отличие от Интернета.

Вы можете подумать о повышении tcp_maxreordering выше значения по умолчанию, если вы испытываете потери при больших окнах.

Убедитесь, что SACK и подобные функции включены; Сомневаюсь, что вы их выключили, но на всякий случай ...

Кроме того, здесь мало что может вам помочь. Реакция управления перегрузкой и, особенно, восстановление действительно является ключом к повышению производительности. Однако не ждите чудес, и что бы вы ни делали, не думайте, что что-то может улучшить жизнь без тестирование это основательно!