Gentoo и 300мб трафика через неё
Avgur 2 декабря, 2008 - 19:22
Доброго времени суток.
Есть не маленькая машинка
uname -a
Linux Router 2.6.25-hardened-r9 #1 SMP Sat Nov 15 13:03:25 EET 2008 i686 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linux
в неё всунул Intel® PRO/1000 Quad Port Bypass Server Adapters...занято только 3 сетевухи.
На ней крутиться NAT, bgp, vlan
Router # iptables -t nat -L -n |wc -l
854
Когда входящий трафик сумарно достигает ~300мегабит - повышаеться пинг через него, начинаються потери..
top говорит что 71.3%id
Получаеться что он не справляеться с трафиком..что подкрутить на нем что бы ему стало легче?
»
- Для комментирования войдите или зарегистрируйтесь
а I-OAT включено в
а I-OAT включено в ядре?
вообще нужно смотреть что отжирает проц, чтоб определиться что крутить
а что и где смотреть??? Дело
а что и где смотреть???
Дело в том что я с FreeBSD начинал...линух только начал изучать..вроде бы поставил..настроил...а вот разогнать нормально не могу..
ьрач
Так вроде проц-то не весь далеко отожрал, а только на четверть.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
я вот подумал - машина 4х
я вот подумал - машина 4х ядерная, 70% это 3 ядра, и сетевухи три. вот они и сожрали не распараллеливающими процессами каждая по ядру
Заметил странную
Заметил странную особенность...первый день..трафика до 400 мегабит..всё нормально пингуеться..второй..на третий начинаються задержки пинга..потери..перезагрузил сервер - день..двва..нормально..
Мне так кажеться забиваються какие-то счетчики..или буфер..
:)
Посмотри вывод
sysctl -a|grep net.core
sysctl -a|grep net.ipv4.tcp
и как вариант попробуй увеличить значения
# Разрешить масштабирование окна TCP
net.ipv4.tcp_window_scaling = 1
# Увеличить максимальный размер буфера TCP
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Увеличить максимальное значение самонастраиваемого буфера TCP
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Увеличить количество доступных портов
net.ipv4.ip_local_port_range = 1024 65000
Стоит
Стоит так..
net.ipv4.tcp_window_scaling = 1
net.core.rmem_max = 33554432
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 4194394 16777216
Было
net.ipv4.ip_local_port_range = 32768 61000
поставил
net.ipv4.ip_local_port_range = 1024 65000
cat /proc/interrupts
Router / # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 219 98 100 101 IO-APIC-edge timer
1: 31 28 28 30 IO-APIC-edge i8042
8: 14 14 15 16 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-fasteoi acpi
214: 2537369 2517869 2506816 2534000 PCI-MSI-edge eth8
215: 401828276 402776159 402002715 403359813 PCI-MSI-edge eth5
216: 107389170 106608845 106877872 106399669 PCI-MSI-edge eth7
217: 416964796 416816924 417332466 416426141 PCI-MSI-edge eth6
218: 9396 9202 9127 9369 PCI-MSI-edge ahci
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 24980171 26109665 25592476 24969611 Local timer interrupts
RES: 1077 5131 2411 2980 Rescheduling interrupts
CAL: 7759 7759 7770 44 function call interrupts
TLB: 2782 4333 2503 4277 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
SPU: 0 0 0 0 Spurious interrupts
ERR: 0
MIS: 0
Судя по прирываниям включен
Судя по прирываниям включен irqbalance и сдесь все нормально. Как совет включи NAPI если поддерживается карточкой и если еще не используешь. Тормозит же скорее всего потому что по цепочке долго бегает. Оптимизируй iptables разбив кучу правил в 1 цепочке на несколько цепочек с вхождением в них по определенным правилам. + Почитай форум nag.ru Опять же с форума про ethtool и потери пакетов.
Ну и покажи
# netstat -sovetu | sort -nr
если он не очень большой.Про ethtool знаю..по чучуть
Про ethtool знаю..по чучуть его кручу..карточка интел..NAPI включен...по крайнер мере я поставил галку в ядре..буфера 4096..по немногу подымаю..
тольк овот не могу понять как сохранить настройки "Ring parameters"
Router /# ethtool -g eth5
Ring parameters for eth5:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 256
После ребута слетают на 256..
Router / # netstat -sovetu | sort -nr
385680 segments received
371654 segments send out
195815 packet headers predicted
61261 acknowledgments not containing data payload received
43324 predicted acknowledgments
23028 packets sent
23024 packets received
5992 passive connection openings
1610 TCP sockets finished time wait in fast timer
1542 resets sent
760 delayed acks sent
729 segments retransmited
514 other TCP timeouts
421 active connections openings
380 connection resets received
277 connections reset due to unexpected data
93 connections reset due to early user close
60 packets directly queued to recvmsg prequeue.
29 failed connection attempts
20 timeouts after reno fast retransmit
18 retransmits in slow start
13 timeouts in loss state
11 resets received for embryonic SYN_RECV sockets
9 fast retransmits
8 connections established
8 DSACKs sent for old packets
7 bytes directly received in process context from prequeue
6 connections aborted due to timeout
5 times recovered from packet loss by selective acknowledgements
3 timeouts after SACK recovery
3 packets to unknown port received.
3 TCP data loss events
2 DSACKs received
1 forward retransmits
UdpLite:
Udp:
TcpExt:
Tcp:
IpExt:
IcmpMsg:
TCPDSACKIgnoredOld: 1
Quick ack mode was activated 90 times
OutType8: 2318
OutType5: 19696
OutType3: 45431
OutType11: 21728598
OutType0: 179402
InType8: 179404
InType5: 6
InType3: 448
InType11: 32
InType0: 2245
InNoRoutes: 113
InMcastPkts: 1790
InBcastPkts: 50769
0 packet receive errors
0 bad segments received.
тольк овот не могу понять как
тольк овот не могу понять как сохранить настройки "Ring parameters"
Можно через /etc/conf.d/local делать.
В netstat вроде ничего страшного нет.
не понимаю..
top - 21:57:19 up 4 days, 11:50, 4 users, load average: 1.03, 1.11, 1.02
Tasks: 96 total, 2 running, 94 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 75.4%id, 0.0%wa, 0.0%hi, 24.6%si, 0.0%st
Mem: 2039732k total, 483396k used, 1556336k free, 80172k buffers
IDLE больше меньше 75% не бывает
а si больше 25%. кто-то знает почему?
и кто-то много кушает..это кусок top'а..
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10 root 15 -5 0 0 0 S 49 0.0 162:37.33 ksoftirqd/2
13 root 15 -5 0 0 0 R 39 0.0 166:00.47 ksoftirqd/3
Router / # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 452 336 311 333 IO-APIC-edge timer
1: 31 28 28 30 IO-APIC-edge i8042
8: 14 14 15 16 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-fasteoi acpi
214: 26165874 25870071 25528383 25936464 PCI-MSI-edge eth8
215: 1191749875 1194369165 1192495299 1195925187 PCI-MSI-edge eth5
216: 324866270 322359384 321900824 321754171 PCI-MSI-edge eth7
217: 1269428002 1269611726 1272286206 1268594357 PCI-MSI-edge eth6
218: 29834 29497 29155 29663 PCI-MSI-edge ahci
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 85297679 87998167 87442972 85553661 Local timer interrupts
RES: 3560 9524 6568 7166 Rescheduling interrupts
CAL: 30328 30714 30497 5563 function call interrupts
TLB: 6510 9432 5515 8572 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
SPU: 0 0 0 0 Spurious interrupts
ERR: 0
MIS: 0
Что смущает?Почитай про
Что смущает?
Почитай про softirq думаю все ясно станет. При таком трафике это вроде нормально...
смущает то что 2 дня работает
смущает то что 2 дня работает отлично..просто идеально..
на третий день трафика меньше чем первые дни и он не справляеться..
Четко всегда на 3 день
Четко всегда на 3 день повторяется?
Попробуй вручную прирывания от сетевых карт по разным процессорам развесить и демон irqbalance выключить. smp_affinity
Возможно вот похожая
Возможно вот похожая проблема.