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

Настройка стека TCP Solaris

У нас есть большой веб-проект (около 2-3к запросов в секунду), использующий haproxy (http://haproxy.1wt.eu/) в качестве внешнего интерфейса и балансировщика нагрузки между серверами приложений Java. Интерфейс (haproxy) работает в Linux, но мы собираемся перенести его на Solaris 10, поскольку все остальные наши серверы работают под Solaris.

После переключения трафика я вижу две вещи: а) веб-сайт стал загружаться медленнее (5-10 секунд с изображениями по сравнению с 2-3 секундами в Linux) б) иногда haproxy не может выполнить «проверку жизни» (получить специальный веб-страницу и проанализируйте код ответа http) из-за тайм-аута сокета. После переключения трафика обратно на Linux все в порядке.

Я попытался настроить все параметры, которые нашел в / dev / tcp, но без прогресса. Я считаю, что проблема в некоторых ограничениях открытых сокетов. Если кто-то может указать мне ответ, я был бы очень признателен.

p.s. haproxy работает под управлением Xen DomU в Linux (ядро 2.6.18, Debian 5) в зоне Solaris (10 u8). единственное, что мы сделали в Linux, это увеличили ip_conntrack_max (я считаю, что параметр tcp_conn_req_max_q в Solaris является эквивалентом).

В Solaris обычно вам нужно расширить диапазон портов источника (который по умолчанию составляет всего 16k портов) и уменьшить интервал time_wait, который по умолчанию установлен на 240 секунд, иначе вы быстро останетесь без свободного порта для установления исходящих соединений. К сожалению, я не помню имена параметров прямо сейчас, по памяти он был в / dev / tcp, а тайм-аут был чем-то вроде tcp_timewait_interval, а порты могли быть в min_port и max_port.

Вам также может потребоваться увеличить максимальное количество файловых дескрипторов, если вашим серверам за haproxy требуется много времени для ответа, чтобы поддерживать большее количество одновременных сокетов. Я помню что-то вроде "fdlim_cur" и "fdlim_max" в / etc / system, которые не были установлены по умолчанию. Я помню, что вам пришлось перезагрузиться после изменения этих параметров, я не знаю, так ли это до сих пор с solaris 10. К сожалению, прошли годы с тех пор, как я в последний раз вносил здесь некоторые настройки: - /

Надеюсь, это поможет!