On Tue, Mar 10, 2009 at 02:41:44PM +0200, Alex Vorona wrote:
10.03.2009 13:39, Монашёв Михаил wrote:
Здравствуйте, Игорь.
Заметил, что в top -S сетевуха кушает много проца:
31 root 1 -68 - 0K 16K - 6 331.9H 40.52% em1 taskq
После прочтения кучи форумов и листов рассылки я пришёл к выводу, что
причина такой нагрузки - большое количество пакетов. Сейчас у меня их
около 40 тыс. в секунду. Возникла мысль, что можно значительно снизить
40% em1 в данном случае уходит на приём/передачу пакетов и обработку
входящего TCP/IP. Можно даже посмотреть, сколько приблизительно уходит
на TCP/IP, если отдать его обработку swi1:
sysctl net.inet.ip.intr_queue_maxlen=2048
а потом
sysctl net.isr.direct=0
Попробовал.
em1 taskq отдал две трети процессора на swi1: net
Какой из этого можно сделать вывод?
А что если поднять MTU на серверах, если позволяет соединение между ними?
В случае разнесения внешнего и внутреннего трафика можно
1) увеличить MTU,
2) обрабатывать двумя картами, а не одной.
а в случае неразнесения по интерфейсам чем грозит увеличение MTU? При коннекте клиента с mtu 1500
проблем быть не должно(tcp mss согласуется верно), интересно может быть уже при коннекте от клиента
с interface mtu > 1500, в то время как по дороге всё равно 1500.