Jump to content
Калькуляторы

NAT режет скорость

Здравствуйте, Форумчане!

У меня есть шлюз на базе CentOS 6.3 работает как NAT для пользователей, всего их около 500 человек. Входящий канал от магистрала 300 МБит/с. Если с самого сервера качать (например: rtorrent) и мерять nload, то скорость канала на входящем интерфейсе показывает как надо, но если клиент находящийся за NATом начинает замер, то скорость при замере тем-же nload на входящем интерфейсе сервера выше 200 Мбит/с не поднимается. Клиент и сервер связаны через DGS-3627 в гигабите. Переключал канал на клиента, тоже все отлично работает. Пришел к выводу, что NAT режет, но не могу разобраться где именно... Ткните носом где копать, пожалуйста! Заранее спасибо.

Share this post


Link to post
Share on other sites

Здравствуйте, Форумчане!

У меня есть шлюз на базе CentOS 6.3 работает как NAT для пользователей, всего их около 500 человек. Входящий канал от магистрала 300 МБит/с. Если с самого сервера качать (например: rtorrent) и мерять nload, то скорость канала на входящем интерфейсе показывает как надо, но если клиент находящийся за NATом начинает замер, то скорость при замере тем-же nload на входящем интерфейсе сервера выше 200 Мбит/с не поднимается. Клиент и сервер связаны через DGS-3627 в гигабите. Переключал канал на клиента, тоже все отлично работает. Пришел к выводу, что NAT режет, но не могу разобраться где именно... Ткните носом где копать, пожалуйста! Заранее спасибо.

 

А загрузка процессора как?

Share this post


Link to post
Share on other sites

А если мерять через iperf?

Все-таки торренты через NAT хуже работают.

Share this post


Link to post
Share on other sites

А загрузка процессора как?

Загрузка при примерно 280 работающих клиентах

cat /proc/loadavg
3.25 3.26 3.21 1/335 23732

А если мерять через iperf?

Все-таки торренты через NAT хуже работают.

Входящий канал мониторю именно nload. Т.е. при увеличении работающих клиентов канал почему-то урезается до 200-215 Мбит/с и выше не поднимается, хотя запуская на сервере торрент nload показывает нормальную ширину. Никакие шейперы не используются. Выходит, что либо iptables, либо какие-то счетчики нужно увеличить. Т.к. минуя NAT - все отличто работает.

Share this post


Link to post
Share on other sites

Ванговать можно долго, не зная что за железо хотя бы используется. LA - тоже не показатель, хотя бы top покажите. Счётчики conntrack тоже бы не помешало.

Share this post


Link to post
Share on other sites

Ванговать можно долго, не зная что за железо хотя бы используется. LA - тоже не показатель, хотя бы top покажите. Счётчики conntrack тоже бы не помешало.

 

Железо

Intel(R) Core(TM) i5-2310 CPU @ 2.90GHz, 4 cores

 

Вывод top

top - 13:28:43 up 10 days,  2:06,  2 users,  load average: 3.16, 3.26, 3.21
Tasks: 246 total,   1 running, 245 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  4.8%sy,  0.0%ni, 64.3%id, 13.4%wa,  1.8%hi, 14.8%si,  0.0%st
Mem:   3905876k total,  2879220k used,  1026656k free,   139464k buffers
Swap:  4194296k total,   420408k used,  3773888k free,   369260k cached

 

Счетчики conntrack выставлены на шару

sysctl net.nf_conntrack_max
net.nf_conntrack_max = 64000000

 

wc -l /proc/net/nf_conntrack
86621 /proc/net/nf_conntrack

Share this post


Link to post
Share on other sites

Смотря какие сетевые и цпу,

 

Покажите ifconfig, mpstat, cat /proc/interrupts

Share this post


Link to post
Share on other sites

сетевухи реалтек на pci? всё вытягивать приходится

Share this post


Link to post
Share on other sites

Смотря какие сетевые и цпу,

 

Покажите ifconfig, mpstat, cat /proc/interrupts

 

ifconfig

eth6      Link encap:Ethernet  HWaddr 00:1B:21:B4:15:E5
         inet addr:IP-прова  Bcast:Bcast-прова  Mask:255.255.255.252
         inet6 addr: fe80::21b:21ff:feb4:15e5/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:13498300334 errors:0 dropped:0 overruns:0 frame:0
         TX packets:11760102071 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:11801620302006 (10.7 TiB)  TX bytes:6864146981714 (6.2 TiB)
eth7      Link encap:Ethernet  HWaddr 00:1B:21:B4:11:A3
         inet addr:IP-локалка  Bcast:Bcast-локалка  Mask:255.255.255.0
         inet6 addr: fe80::21b:21ff:feb4:11a3/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:12698236328 errors:13 dropped:332 overruns:0 frame:7
         TX packets:13481928507 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:7333694404585 (6.6 TiB)  TX bytes:11883083264329 (10.8 TiB)

 

Вывод mpstat

13:38:12     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
13:38:12     all    1,05    0,01    2,76   15,08    1,59   11,23    0,00    0,00   68,28

 

cat /proc/interrupts
          CPU0       CPU1       CPU2       CPU3
 0:        123          0          0          0   IO-APIC-edge      timer
 1:          2          0          0          0   IO-APIC-edge      i8042
 4:          2          0          0          0   IO-APIC-edge
 8:          1          0          0          0   IO-APIC-edge      rtc0
 9:          0          0          0          0   IO-APIC-fasteoi   acpi
12:          4          0          0          0   IO-APIC-edge      i8042
16: 3879967387          0          0          0   IO-APIC-fasteoi   nouveau, eth7
17:      11058   33383175  815438276   75458855   IO-APIC-fasteoi   eth6
18:         19 1566642560   44818801  366481023   IO-APIC-fasteoi   eth8
19:          2        325        259  227473892   IO-APIC-fasteoi   firewire_ohci
23:         98    3331093         58    2014301   IO-APIC-fasteoi   ehci_hcd:usb1, ehci_hcd:usb2
24:       2907          0          0          0  HPET_MSI-edge      hpet2
25:          0          0          0          0  HPET_MSI-edge      hpet3
26:          0          0          0          0  HPET_MSI-edge      hpet4
27:          0          0          0          0  HPET_MSI-edge      hpet5
35:      20342   66823362     573878   94697594   PCI-MSI-edge      ahci
36:        389          0          0          0   PCI-MSI-edge      snd_hda_intel
38:        640    4129613      77826      46077   PCI-MSI-edge      xhci_hcd
39:          0          0          0          0   PCI-MSI-edge      xhci_hcd
40:          0          0          0          0   PCI-MSI-edge      xhci_hcd
41:          0          0          0          0   PCI-MSI-edge      xhci_hcd
42:          0          0          0          0   PCI-MSI-edge      xhci_hcd
NMI:     490024      66802     550599      75755   Non-maskable interrupts
LOC:  406955270  324282679  337718936  188797266   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:     490024      66802     550599      75755   Performance monitoring interrupts
IWI:          0          0          0          0   IRQ work interrupts
RES:    1306250    1978783    8101522    4905251   Rescheduling interrupts
CAL:     162102     187260     218368     226476   Function call interrupts
TLB:   19546522   15351041   33860585   18598245   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:       2909       2909       2909       2909   Machine check polls
ERR:          0
MIS:          0

 

сетевухи реалтек на pci? всё вытягивать приходится

 

сетевухи Intel Corporation 82541PI Gigabit Ethernet Controller

Share this post


Link to post
Share on other sites

Сетевухи под замену на 82576 минимум. Распределить прерывания.

Отключить firewire.

Смущает nouveau, у вас не чистая консоль?

Share this post


Link to post
Share on other sites

Сетевухи под замену на 82576 минимум. Распределить прерывания.

Отключить firewire.

Смущает nouveau, у вас не чистая консоль?

Нафига при таком травике???

 

Для начала сделайте так

ifconfig eth6 txqueuelen 10000

ifconfig eth7 txqueuelen 10000

ethtool -K eth6 gso off gro off tso off lro off

ethtool -K eth7 gso off gro off tso off lro off

ethtool -G eth6 tx 4096

ethtool -G eth6 rx 4096

ethtool -G eth7 tx 4096

ethtool -G eth7 rx 4096

Edited by Antares

Share this post


Link to post
Share on other sites

Действительно, зачем сейчас сразу сделать всё по-нормальному, лучше потом, когда трафик вырастет, опять мучаться с плохо работающим сервером?

Share this post


Link to post
Share on other sites

Действительно, зачем сейчас сразу сделать всё по-нормальному, лучше потом, когда трафик вырастет, опять мучаться с плохо работающим сервером?

Я так понимаю человеку надо сейчас решить поблему, а не ждать когда карту купят. До этого времени его юзера съедят. Согласен что лучше купить нормальную карточку, но пока достаточно и этого дожно быть

Share this post


Link to post
Share on other sites

Действительно, зачем сейчас сразу сделать всё по-нормальному, лучше потом, когда трафик вырастет, опять мучаться с плохо работающим сервером?

Я так понимаю человеку надо сейчас решить поблему, а не ждать когда карту купят. До этого времени его юзера съедят. Согласен что лучше купить нормальную карточку, но пока достаточно и этого дожно быть

Спасибо всем, буду пробовать. Далее по результатам.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this