Пакеты большого количества отклоняются в установленных соединениях из-за отметки времени
Я пытаюсь настроить медиа-сервер Wowza, используя Dell R710 с 24 ГБ памяти и 10 Гбит соединением, и все расчеты говорят о том, что он сможет обрабатывать около 20 тыс. Соединений, однако, когда я получаю около 9000 соединений, Wowza начинает отбрасывать пакеты, потому что это считает их слишком поздно, чтобы доставить. Я также замечаю замедление количества входящих соединений.
При 9000 подключениях пропускная способность составляет около 3 - 4 Гбит / с. Поток является живым потоком, поэтому нет диска io.
Входящие соединения генерируются с частотой 1 новое соединение каждые 3/4 секунды из 4 других серверов в той же стойке, поэтому задержка должна быть практически нулевой, и только коммутатор подключает их все.
Один счетчик, который я заметил, начинает увеличиваться, когда пакеты начинают сбрасываться, packets rejects in established connections because of timestamp
Что означает этот счетчик и как я могу это исправить.
Мы прошли все настройки tcp и не можем найти правильную комбинацию для получения более 9000 соединений без потери пакетов. Мы также проверили все настройки коммутатора и маршрутизатора, но не смогли найти виновного.
В настоящее время ОС OpenSuse 11.4, и мы также пробовали Centos 5.6 ранее с теми же результатами.
Мы также пытались несколько раз использовать Wowza для распределения нагрузки между различными JVM, но это все тот же результат.
1 ответ
Попробуйте установить эти параметры ядра, как показано ниже:
- net.ipv4.tcp_tw_recycle = 0
- net.ipv4.tcp_tw_reuse = 0
- net.ipv4.tcp_timestamps = 0
tcp_timestamps & tcp_tw_recycle может привести к "отклонению пакетов в установленных соединениях из-за временной отметки".