Jump to content

Border + NAT. Периодически высокая загрузка CPU.


Recommended Posts

Привет всем.

Прошу дать совет.

Система Debian 9 в роли шлюза + ната, сетевка i340-T4, трафика 500-700Мбит. Периодически рандомно подскакивает нагрузка на проц, все лагает, потери , через 5-10 мин. попускает. В логах все чисто. Подкручен только conntrack.

Как бы выявить заразу? Что подкрутить?

net.netfilter.nf_conntrack_acct = 0
net.netfilter.nf_conntrack_buckets = 655360
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_count = 685295
net.netfilter.nf_conntrack_events = 1
net.netfilter.nf_conntrack_expect_max = 256
net.netfilter.nf_conntrack_generic_timeout = 600
net.netfilter.nf_conntrack_helper = 0
net.netfilter.nf_conntrack_icmp_timeout = 30
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_max = 2621440
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 600
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
net.netfilter.nf_conntrack_timestamp = 0
net.netfilter.nf_conntrack_udp_timeout = 30
net.netfilter.nf_conntrack_udp_timeout_stream = 180
net.nf_conntrack_max = 2621440

post-17131-0-92898900-1507920726_thumb.jpg

Edited by fet4
Link to post
Share on other sites
  • Replies 62
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

в процессе тестов, но боевую нагрузку не запускали, жду релиза 17.10 из того с чем столкнулся: * в режиме CGNAT поддерживается только TCP, UDP, ICMP (тот же GRE уже не работает), возможно не всем ак

Вам нужен график или статистика pps. Трафик для софт роутеров особой роли не играет, а вот pps играет. Если НАТ, то как правильно говорят выше, количество соединений тоже роялет. Дальше смотрите на ко

Posted Images

По трафику добавил.

По ппс пока не рисует. Не подскажите какой параметр нужно снимать?

post-17131-0-08635400-1507925254_thumb.jpg

Edited by fet4
Link to post
Share on other sites

Кстати, никто не пробовал VPP NAT? Кто не в курсе, под линукс сейчас есть такая штука VPP называется, цисковский стэк для быстрой обработки пакетов, может работать с dpdk и netmap, в нем уже есть плагин для ната. Вдруг окажется хорошей бесплатной заменой тормозному ядерному стэку, особенно для провайдеров.

Link to post
Share on other sites

Да по ядрам все прибито

 25:          1          0   PCI-MSI 524288-edge      enp1s0f0
 26: 1265882782          0   PCI-MSI 524289-edge      enp1s0f0-rx-0
 27:          2 1286486313   PCI-MSI 524290-edge      enp1s0f0-rx-1
 28: 1342102043          0   PCI-MSI 524291-edge      enp1s0f0-tx-0
 29:          2 1362889135   PCI-MSI 524292-edge      enp1s0f0-tx-1

Offload_ы выключены.

tcp-segmentation-offload: off
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off
generic-receive-offload: off
large-receive-offload: off [fixed]
rx-vlan-offload: off
tx-vlan-offload: off
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]

Спасибо почитаю.

Link to post
Share on other sites

Кстати, никто не пробовал VPP NAT? Кто не в курсе, под линукс сейчас есть такая штука VPP называется, цисковский стэк для быстрой обработки пакетов, может работать с dpdk и netmap, в нем уже есть плагин для ната. Вдруг окажется хорошей бесплатной заменой тормозному ядерному стэку, особенно для провайдеров.

 

в процессе тестов, но боевую нагрузку не запускали, жду релиза 17.10

из того с чем столкнулся:

* в режиме CGNAT поддерживается только TCP, UDP, ICMP (тот же GRE уже не работает), возможно не всем актуально

* в режиме nat44 нет возможности указать отдельному пулу внутренних адресов пул внешних, это можно в CGNAT, но там нет поддержки GRE

* нет никаких ALG для FTP, PPTP в nat44 (в версии 17.10 обещают доделать нормальную поддержку GRE в режиме nat44, возможно заработает без ALG)

* очень странный концепт того что можно всё настроить из CLI, но сохранить текущий конфиг нельзя, приходится писать и в CLI и в файл из скриптов одновременно

* так и не смог заставить IPFIX из VPP нормально отображаться в NFSEN, но в 17.10 обещают логи НАТа в syslog

* отжирает сразу 100% всех ядер, которые отдаешь в VPP, есть только внутренние не очевидные механизмы анализа хорошо ему или плохо от нагрузки.

 

так что решение как бы и хорошее, но требует смелости и энтузиазма :)

Link to post
Share on other sites

Сегодня был очередной всплеск нагрузки на цпу после провала у алпинка, но связи не вижу. Судя по графикам длился 10 мин. и потом попустило. В чем может быть проблема? 

17.10.2017 17:30:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:31:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:31:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:32:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:32:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:33:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:33:01     [ vlan2000 - BAD ] Packet loss 72%
17.10.2017 17:33:01     [ vlan2000 ] - ip route del default via х.х.х.х dev vlan2000 proto static metric 1
17.10.2017 17:33:01     [ vlan2000 ] - ip rule del from all fwmark 0x1 lookup vlan2000 prio 1000
17.10.2017 17:34:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:34:01     [ vlan2000 - BAD ] Packet loss 100%
17.10.2017 17:35:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:35:01     [ vlan2000 - BAD ] Packet loss 100%
17.10.2017 17:36:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:36:01     [ vlan2000 - OK ] Packet loss 22%
17.10.2017 17:36:01     [ vlan2000 ] - ip route add default via х.х.х.х dev vlan2000 proto static metric 1
17.10.2017 17:36:01     [ vlan2000 ] - ip rule add from all fwmark 0x1 lookup vlan2000 prio 1000
17.10.2017 17:37:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:37:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:38:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:38:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:39:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:39:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:40:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:40:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:41:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:41:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:42:01     [ vlan2001 - OK ] Packet loss 10%
17.10.2017 17:42:01     [ vlan2000 - OK ] Packet loss 10%
17.10.2017 17:43:01     [ vlan2001 - OK ] Packet loss 12%
17.10.2017 17:43:01     [ vlan2000 - OK ] Packet loss 12%
17.10.2017 17:44:01     [ vlan2000 - OK ] Packet loss 2%
17.10.2017 17:44:01     [ vlan2001 - OK ] Packet loss 2%
17.10.2017 17:45:01     [ vlan2001 - OK ] Packet loss 15%
17.10.2017 17:45:01     [ vlan2000 - OK ] Packet loss 15%
17.10.2017 17:46:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:46:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:47:01     [ vlan2001 - OK ] Packet loss 22%
17.10.2017 17:47:01     [ vlan2000 - OK ] Packet loss 27%
17.10.2017 17:48:01     [ vlan2000 - OK ] Packet loss 25%
17.10.2017 17:48:01     [ vlan2001 - OK ] Packet loss 35%
17.10.2017 17:49:01     [ vlan2001 - OK ] Packet loss 27%
17.10.2017 17:49:01     [ vlan2000 - OK ] Packet loss 20%
17.10.2017 17:50:02     [ vlan2001 - OK ] Packet loss 25%
17.10.2017 17:50:02     [ vlan2000 - OK ] Packet loss 35%
17.10.2017 17:51:01     [ vlan2001 - OK ] Packet loss 5%
17.10.2017 17:51:01     [ vlan2000 - OK ] Packet loss 15%
17.10.2017 17:52:01     [ vlan2001 - OK ] Packet loss 7%
17.10.2017 17:52:01     [ vlan2000 - OK ] Packet loss 5%
17.10.2017 17:53:01     [ vlan2001 - OK ] Packet loss 10%
17.10.2017 17:53:01     [ vlan2000 - OK ] Packet loss 15%
17.10.2017 17:54:01     [ vlan2001 - OK ] Packet loss 7%
17.10.2017 17:54:01     [ vlan2000 - OK ] Packet loss 10%
17.10.2017 17:55:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:55:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:56:02     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:56:02     [ vlan2001 - OK ] Packet loss 2%
17.10.2017 17:57:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:57:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:58:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:58:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 17:59:01     [ vlan2001 - OK ] Packet loss 0%
17.10.2017 17:59:01     [ vlan2000 - OK ] Packet loss 0%
17.10.2017 18:00:01     [ vlan2001 - OK ] Packet loss 0%

post-17131-0-24301200-1508268749_thumb.png

post-17131-0-08626900-1508268756_thumb.png

post-17131-0-73978200-1508268760_thumb.png

Link to post
Share on other sites

На петли проверяли?

Где именно? На свиче куда включен сервер?

В принципе везде управляемое оборудование откуда ей взяться?

Link to post
Share on other sites

 

 

Судя по графикам длился 10 мин. и потом попустило. В чем может быть проблема? 

 

сделайте график количества записей в conntrack, возможно в момент проблема кто-то снаружи или внутри активно сканирует (до лимита 2621440 могут и не успеть дойти, потому в логах нет)

+ посмотреть по netflow что происходит в момент проблемы

Link to post
Share on other sites

Спасибо за советы попробую отловить что-нибудь.

 3 root      20   0       0      0      0 R  96,4  0,0  39:08.06 ksoftirqd/0
   16 root      20   0       0      0      0 R  96,4  0,0  44:47.19 ksoftirqd/1
    7 root      20   0       0      0      0 S   1,7  0,0  12:37.07 rcu_sched

ksoftirqd. не могу понять что его грузит.

Edited by fet4
Link to post
Share on other sites

ksoftirqd. не могу понять что его грузит.

Ну там же вроде пакеты обрабатываются, которые от сетевой карты прилетели, сетевой стэк.

 

У вас как бы не много выбора в любом случае: тюнить производительность стэка, но это не решит проблему в корне или дробить нагрузку на больше машин, вместо одной, что в общем-то единственный праведный путь с ядерным линуксовым натом.

Link to post
Share on other sites

 

ksoftirqd. не могу понять что его грузит.

Ну там же вроде пакеты обрабатываются, которые от сетевой карты прилетели, сетевой стэк.

 

У вас как бы не много выбора в любом случае: тюнить производительность стэка, но это не решит проблему в корне или дробить нагрузку на больше машин, вместо одной, что в общем-то единственный праведный путь с ядерным линуксовым натом.

 

Не могу понять просто, если слабое железо, тогда в час пик был бы затык, а так в час пик загрузка в районе 30%, эти всплески происходят рандомно и пока не объяснимо.

 

Покритикуйте мой фаервол, не знаю вроде все оптимизировал что можно.

# Generated by iptables-save v1.6.0 on Fri Oct 20 16:29:04 2017
*nat
:PREROUTING ACCEPT [2365852486:172043329290]
:INPUT ACCEPT [61985562:3870058168]
:OUTPUT ACCEPT [447399:23734055]
:POSTROUTING ACCEPT [14264173:570874256]
:dnat_post - [0:0]
:dnat_pre - [0:0]
-A PREROUTING -d х.х.х.х -j dnat_pre
-A OUTPUT -d х.х.х.х -j dnat_pre
-A POSTROUTING -m set --match-set ip_pools src -j dnat_post
-A POSTROUTING -o vlan2001 -j SNAT --to-source х.х.х.х-х.х.х.х --persistent
-A POSTROUTING -o vlan2000 -j SNAT --to-source х.х.х.х-х.х.х.х --persistent
-A dnat_post -d 172.19.0.1/32 -p udp -m multiport --dports 80,443 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.19.0.1/32 -p tcp -m multiport --dports 80,443 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.123.7/32 -p tcp -m multiport --dports 6036,6037,6038,6039 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.126.9/32 -p tcp -m multiport --dports 50001,50002 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.10/32 -p tcp -m multiport --dports 50004,50005 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.166/32 -p tcp -m multiport --dports 50006,50007 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.166/32 -p udp -m multiport --dports 50006,50007 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.156/32 -p tcp -m multiport --dports 50008,50029 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.41/32 -p tcp -m multiport --dports 50009,50010,50012 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.41/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.180/32 -p tcp -m multiport --dports 50014,50015,50050 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.130/32 -p tcp -m multiport --dports 50016,50017,50025 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.181/32 -p tcp -m multiport --dports 50027,50028 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.126.7/32 -p tcp -m multiport --dports 50029,50030,50031,50032 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.216/32 -p tcp -m multiport --dports 50033,50034,50035,50036 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.1.223/32 -p tcp -m multiport --dports 50037,50038 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.1.253/32 -p tcp -m multiport --dports 50039,50040,50041,50042,50043,50044,50045,50046,50047,50048,50049 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.2.8/32 -p tcp -m multiport --dports 50050,50051,50054 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.2.9/32 -p tcp -m multiport --dports 50052,50053 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.1.2/32 -p tcp -m multiport --dports 50055,50056,50057,50058,50059,50060,50061,50062,50063,50064,50065 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.20.0.100/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.20.0.101/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.20.0.102/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.20.0.103/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 172.20.0.104/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.193.0.244/32 -p tcp -m multiport --dports 60001,60002,60003 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.130.5/32 -p tcp -m multiport --dports 50100:50200 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.129.17/32 -p tcp -m multiport --dports 50203:50213 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.101.97/32 -p tcp -m multiport --dports 25565,25567,25568,30000,30001,50069:50099,4254:4258 -j SNAT --to-source 172.19.0.6
-A dnat_post -d 10.194.101.97/32 -p udp -m multiport --dports 25565,25567,25568,30000,30001,50069:50099,4254:4258 -j SNAT --to-source 172.19.0.6
-A dnat_pre -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 172.19.0.1
-A dnat_pre -p udp -m multiport --dports 80,443 -j DNAT --to-destination 172.19.0.1
-A dnat_pre -p tcp -m multiport --dports 6036,6037,6038,6039 -j DNAT --to-destination 10.194.123.7
-A dnat_pre -p tcp -m multiport --dports 50001,50002 -j DNAT --to-destination 10.194.126.9
-A dnat_pre -p tcp -m multiport --dports 50004,50005 -j DNAT --to-destination 10.193.0.10
-A dnat_pre -p tcp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.166
-A dnat_pre -p udp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.166
-A dnat_pre -p tcp -m multiport --dports 50008,50029 -j DNAT --to-destination 10.193.0.156
-A dnat_pre -p tcp -m multiport --dports 50009,50010,50012 -j DNAT --to-destination 10.193.0.41
-A dnat_pre -p tcp -m multiport --dports 50013 -j DNAT --to-destination 10.193.0.41:80
-A dnat_pre -p tcp -m multiport --dports 50014,50015,50050 -j DNAT --to-destination 10.193.0.180
-A dnat_pre -p tcp -m multiport --dports 50016,50017,50025 -j DNAT --to-destination 10.193.0.130
-A dnat_pre -p tcp -m multiport --dports 50027,50028 -j DNAT --to-destination 10.193.0.181
-A dnat_pre -p tcp -m multiport --dports 50029,50030,50031,50032 -j DNAT --to-destination 10.194.126.7
-A dnat_pre -p tcp -m multiport --dports 50033,50034,50035,50036 -j DNAT --to-destination 10.193.0.216
-A dnat_pre -p tcp -m multiport --dports 50037,50038 -j DNAT --to-destination 10.193.1.223
-A dnat_pre -p tcp -m multiport --dports 50039,50040,50041,50042,50043,50044,50045,50046,50047,50048,50049 -j DNAT --to-destination 10.193.1.253
-A dnat_pre -p tcp -m multiport --dports 50050,50051,50054 -j DNAT --to-destination 10.193.2.8
-A dnat_pre -p tcp -m multiport --dports 50052,50053 -j DNAT --to-destination 10.193.2.9
-A dnat_pre -p tcp -m multiport --dports 50055,50056,50057,50058,50059,50060,50061,50062,50063,50064,50065 -j DNAT --to-destination 10.193.1.2
-A dnat_pre -p tcp -m multiport --dports 50066 -j DNAT --to-destination 172.20.0.101:80
-A dnat_pre -p tcp -m multiport --dports 50067 -j DNAT --to-destination 172.20.0.102:80
-A dnat_pre -p tcp -m multiport --dports 50068 -j DNAT --to-destination 172.20.0.103:80
-A dnat_pre -p tcp -m multiport --dports 50201 -j DNAT --to-destination 172.20.0.104:80
-A dnat_pre -p tcp -m multiport --dports 50202 -j DNAT --to-destination 172.20.0.100:80
-A dnat_pre -p tcp -m multiport --dports 60001,60002,60003 -j DNAT --to-destination 10.193.0.244
-A dnat_pre -p tcp -m multiport --dports 50100:50200 -j DNAT --to-destination 10.194.130.5
-A dnat_pre -p tcp -m multiport --dports 50203:50213 -j DNAT --to-destination 10.194.129.17
-A dnat_pre -p tcp -m multiport --dports 25565,25567,25568,30000,30001,50069:50099,4254:4258 -j DNAT --to-destination 10.194.101.97
-A dnat_pre -p udp -m multiport --dports 25565,25567,25568,30000,30001,50069:50099,4254:4258 -j DNAT --to-destination 10.194.101.97
COMMIT
# Completed on Fri Oct 20 16:29:04 2017
# Generated by iptables-save v1.6.0 on Fri Oct 20 16:29:04 2017
*filter
:INPUT DROP [115192:7448489]
:FORWARD ACCEPT [61422018:48339151629]
:OUTPUT ACCEPT [120274:6595450]
:input_check - [0:0]
:input_new - [0:0]
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate NEW -j input_new
-A INPUT -m set --match-set input_src src -j ACCEPT
-A FORWARD -p tcp -m set --match-set blacklist dst -j REJECT --reject-with tcp-reset
-A FORWARD -m set --match-set blacklist dst -j REJECT --reject-with icmp-port-unreachable
-A input_check -m recent --update --seconds 600 --hitcount 3 --name DEFAULT --mask 255.255.255.255 --rsource -j LOG --log-prefix "iptables INPUT bruteforce: "
-A input_check -m recent --update --seconds 600 --hitcount 3 --name DEFAULT --mask 255.255.255.255 --rsource -j DROP
-A input_check -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource -j ACCEPT
-A input_new -p tcp -m tcp --dport 62222 -j input_check
-A input_new -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Fri Oct 20 16:29:04 2017
# Generated by iptables-save v1.6.0 on Fri Oct 20 16:29:04 2017
*mangle
:PREROUTING ACCEPT [33477321686:22949699656297]
:INPUT ACCEPT [111748565:8843192375]
:FORWARD ACCEPT [33306284735:22936436463930]
:OUTPUT ACCEPT [102902336:7146802469]
:POSTROUTING ACCEPT [33395225642:22942815939212]
:balance - [0:0]
:incoming - [0:0]
:marking - [0:0]
:new_conn - [0:0]
:vlan2000 - [0:0]
:vlan2000_mark - [0:0]
:vlan2001 - [0:0]
:vlan2001_mark - [0:0]
-A PREROUTING -m conntrack --ctstate NEW -j new_conn
-A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A balance -m statistic --mode random --probability 0.50000000000 -j vlan2000
-A balance -m statistic --mode random --probability 1.00000000000 -j vlan2001
-A incoming -i vlan2000 -j CONNMARK --set-xmark 0x1/0xffffffff
-A incoming -i vlan2001 -j CONNMARK --set-xmark 0x2/0xffffffff
-A marking -m set --match-set vlan2000 src -j vlan2000_mark
-A marking -m set --match-set vlan2001 src -j vlan2001_mark
-A new_conn -m set --match-set ip_pools src -m set ! --match-set uplink_list src -j balance
-A new_conn -m set --match-set uplink_if src,src -m connmark --mark 0x0 -j incoming
-A new_conn -m set --match-set uplink_list src -m connmark --mark 0x0 -j marking
-A vlan2000 -m set --match-set uplink_list src -j RETURN
-A vlan2000 -j SET --add-set vlan2000 src
-A vlan2000_mark -j CONNMARK --set-xmark 0x1/0xffffffff
-A vlan2000_mark -j SET --add-set vlan2000 src --exist
-A vlan2001 -m set --match-set uplink_list src -j RETURN
-A vlan2001 -j SET --add-set vlan2001 src
-A vlan2001_mark -j CONNMARK --set-xmark 0x2/0xffffffff
-A vlan2001_mark -j SET --add-set vlan2001 src --exist
COMMIT
# Completed on Fri Oct 20 16:29:04 2017
Link to post
Share on other sites

Вам нужен график или статистика pps. Трафик для софт роутеров особой роли не играет, а вот pps играет. Если НАТ, то как правильно говорят выше, количество соединений тоже роялет. Дальше смотрите на корреляцию между прерываниями на сетевую и pps. Кроме этого у вас возможно не правильно настроен драйвер по модерации прерываний. Тем более если стоит авто режим. Бывает что он сваливается в low polling и начинает делать 1000 прерываний в секунду, тогда драйвер начинает запрашивать прерывания програмно как только заполняются буфера на карте и начинается то о чем вы пишите. Попускает через 10 минут, потому что трафик сваливается вниз, драйвер решает, что сейчас можно перейти в режим high polling и повышает количество прерываний - все счастливы.

 

Если хотите со всей силы угореть по ksoftirqd, то можете почитать: https://forum.nag.ru/index.php?/topic/46335-linux-softrouterтам эти все вопросы разобраны, правда информация может быть устаревшей.

 

Надеюсь поможет.

Link to post
Share on other sites

Вам нужен график или статистика pps. Трафик для софт роутеров особой роли не играет, а вот pps играет. Если НАТ, то как правильно говорят выше, количество соединений тоже роялет. Дальше смотрите на корреляцию между прерываниями на сетевую и pps. Кроме этого у вас возможно не правильно настроен драйвер по модерации прерываний. Тем более если стоит авто режим. Бывает что он сваливается в low polling и начинает делать 1000 прерываний в секунду, тогда драйвер начинает запрашивать прерывания програмно как только заполняются буфера на карте и начинается то о чем вы пишите. Попускает через 10 минут, потому что трафик сваливается вниз, драйвер решает, что сейчас можно перейти в режим high polling и повышает количество прерываний - все счастливы.

 

Если хотите со всей силы угореть по ksoftirqd, то можете почитать: https://forum.nag.ru/index.php?/topic/46335-linux-softrouterтам эти все вопросы разобраны, правда информация может быть устаревшей.

 

Надеюсь поможет.

А какая зависимость должна быть между pps и прерываниями? ППС рисуется, в пиках на данный момент около 130к.

Link to post
Share on other sites

Не должно быть скачков pps. Это означало бы DOS извне или флуд внутри сети.

Если в момент проблемы трафик/ттс не меняется - проблема где-то в вашем софте.

Edited by KaYot
Link to post
Share on other sites

В момент проблемы ппс падает. Не успел физически добежать до сервера, чтобі запустить перф-топ.

Link to post
Share on other sites

Перечитал тему на наге, понял что не крутил только ITR. Вообще имеет смысл его трогать и как увидеть текущие значения его?

Link to post
Share on other sites

 

ksoftirqd. не могу понять что его грузит.

Ну там же вроде пакеты обрабатываются, которые от сетевой карты прилетели, сетевой стэк.

 

У вас как бы не много выбора в любом случае: тюнить производительность стэка, но это не решит проблему в корне или дробить нагрузку на больше машин, вместо одной, что в общем-то единственный праведный путь с ядерным линуксовым натом.

Я с Вами согласен насчет дробить на больше машин, но я думал это делать когда будет хотя бы 70% загрузки по ядрам. А у меня допустим вчера в чнн было 600мбит и 120кппс и загрузка цпу 35%.

 

Моя проблема может говорить о какой-то недостаточности ресурсов? Вроде за всем слежу, но возможно что-то не понимаю.

Link to post
Share on other sites

# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Celeron(R) CPU G3930 @ 2.90GHz
Stepping: 9
CPU MHz: 799.871
CPU max MHz: 2900,0000
CPU min MHz: 800,0000
BogoMIPS: 5808.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 2048K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm abm 3dnowprefetch intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms invpcid mpx rdseed smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm arat pln pts hwp hwp_notify hwp_act_window hwp_epp

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By hardware_all
      продам радиаторы на сервера / серверные CPU kits
       
       = Dell =
      радиатор для Dell PowerEdge 1850 - 200грн
       
      радиатор DELL 2850 - 200грн
       
       = HP =
      радиатор для DL380G3 / DL370 G3 / DL360 G3 / DL560 G1 / ML350 G3 / ML370 G3  P/N: 322560-001 - 200грн
       
      радиатор для DL380G3 / DL380G2  Foxconn P/N: 279160-001 - 200грн
       
      радиатор для HP DL585G1  P/N: 321961-007  | 359774-001 - 200грн
       
      радиатор для HP DL360G3 + VRM  P/N: 345746-002 P/N: 325148-001  - 200грн

      радиатор для DL380 G5/  DL385 G2 / DL385 G5) Foxconn P/N: 391137-001 432231-101  - 200грн
       
      радиатор для DL380 G7/  DL380G6)  Foxconn P/N:496886-001 + 1 CPU (Intel Xeon X5660 CPU 2.8 GHz Six Core 6.4 GT/s QPI 12M 95W LGA 1366 Processor) + 2 вентилятора (Nidec UltraFlo 12V 2.45А  496066-001) - 700грн за комплект
       
    • By gfxman
      Продам процессор Intel Xeon E5-2680 v3
      30 МБ кэш-памяти, тактовая частота 2,50 ГГц
      12 ядер, 24 потока.

      В наличие 2 штуки, в отличном состоянии, без проблем и дефектов.

      Установлены на сервере, реальное фото могу сделать по запросу (установлен в сервере).
       
      Стоимость 4500 грн за штуку.

      Пишите или звоните., отвечу на любые вопросы.
      P: (068) 570-17-ДватцатьДва
      Доставка по Украине.
    • By lsp
      Привет
      Продам после апгрейда комплект:
      материнская плата Asus Z87-K + Core i3-4130 + 8 Gb DDR3
      В комплект входит: материнская плата, заглушка, коробка, процессор, вентилятор, коробка, память 2 шт по 4Гб 1600 мгц
      Цена комплекта = 3500 грн
      Связь для ускорения через телефон, вайбер или телеграм: 050 323 11 17 - Сергей





    • By shik
      В наличии остались остатки процессоров Intel Xeon X5500/X5600
       
      Xeon X5550,X5560, E5530  - 200грн пара
      L5630, E5630 - 250грн пара
      X5675 - 1700грн пара
       
      Один E5-1410 - 250грн
    • By Vladimir_L
      Количество большое! 
       
      В наличии серверные процесори:
      GPU XEON 5550, 5540, 5520, 5405, 5420 -  100грн./шт

      CPU XEON 5560, 5570 - 120грн./шт

      CPU XEON 5649, 5650 - 250грн./шт

      CPU XEON E5 - 2603 - 300грн./шт

      CPU XEON E5 - 2620 - 700грн./шт

      CPU XEON E5 - 2630 - 800грн./шт
       
      Контакты:
      0981071848

×
×
  • Create New...