Я пытаюсь настроить систему с высоким трафиком сообщений, работающую на Solaris. Архитектура представляет собой большое количество (600) клиентов, которые подключаются через TCP к большому серверу Solaris, а затем отправляют / получают относительно небольшие сообщения (полезная нагрузка от 0,5 до 1 КБ) с высокой скоростью. Цель состоит в том, чтобы минимизировать задержку каждого обрабатываемого сообщения. Я подозреваю, что стек TCP сервера перегружен всем трафиком. Какие команды / показатели я могу использовать, чтобы подтвердить это, и если это правда, как лучше всего устранить это узкое место?
PS Изначально я разместил это на StackOverflow. Один человек предложил snoop и dtrace. dtrace кажется довольно общим - есть ли какие-либо дополнительные указания о том, как его использовать для диагностики проблем TCP?
Взгляните на набор инструментов dtrace для начала, а также вывод netstat -na ... вы видите много подключений в TIME WAIT ...
В наборе инструментов dtrace (погуглите) скрипт «соединений» может вас особенно заинтересовать. Это, конечно, при условии, что вы используете Solaris 10 ...
600 одновременных TCP-соединений - это не так уж и много.
Если вам действительно нужна настройка, вы будете использовать ndd для установки параметров ядра. Видеть: Настраиваемые параметры Internet Protocol Suite