Jump to content

Recommended Posts

Posted

Здравствуйте! Имеется небольшая домашняя сеть(микропровайдер). После расширения внешнего канала увеличилась нагрузка на двухпроцессорный сервер-роутер (FreeBSD 7.4) 2x2.26 Intel Xeon E5607 на intel s5500bcr/ Установлены Pci-e интелевские серверные сетевые адаптеры. Интерфейсы em3-em4: лаг интерфейс, смотрит в сторону провайдера, прокачивает примерно 1Гигабит инета. em1-em2 смотрят на сервера доступа. Сервер выполняет функцию роутера и натит с помощью pf. Сейчас top -S показывает следующее:

 

last pid: 49751; load averages: 2.94, 2.89, 3.09 up 0+13:11:26 20:38:40

126 processes: 13 running, 94 sleeping, 1 zombie, 18 waiting

CPU: 0.8% user, 0.0% nice, 46.9% system, 3.1% interrupt, 49.2% idle

Mem: 22M Active, 17M Inact, 181M Wired, 220K Cache, 112M Buf, 1972M Free

Swap: 4096M Total, 4096M Free

 

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

37 root 1 -68 - 0K 8K CPU0 0 451:19 93.12% em4 taskq

36 root 1 -68 - 0K 8K CPU3 2 444:09 92.82% em3 taskq

15 root 1 171 ki31 0K 8K RUN 3 743:28 88.92% idle: cpu3

35 root 1 -68 - 0K 8K CPU5 5 458:12 82.71% em2 taskq

11 root 1 171 ki31 0K 8K CPU7 7 402:03 74.56% idle: cpu7

12 root 1 171 ki31 0K 8K RUN 6 405:20 70.61% idle: cpu6

17 root 1 171 ki31 0K 8K CPU1 1 667:33 69.58% idle: cpu1

34 root 1 -68 - 0K 8K CPU4 4 275:17 64.94% em1 taskq

18 root 1 171 ki31 0K 8K RUN 0 721:53 33.45% idle: cpu0

14 root 1 171 ki31 0K 8K RUN 4 506:06 32.03% idle: cpu4

16 root 1 171 ki31 0K 8K CPU2 2 696:58 30.08% idle: cpu2

13 root 1 171 ki31 0K 8K RUN 5 376:06 21.00% idle: cpu5

29 root 1 -68 - 0K 8K WAIT 1 93:45 18.99% irq256: em0

1217 djbcache 1 97 0 4180K 2260K select 1 35:27 6.64% dnscache

1225 djblog 1 -8 0 3156K 844K piperd 4 12:17 2.44% multilog

 

ПО топу видно, что нагрузка на ем3-4 уже практически критическая, но при этом другие ядра простаивают. Мы планируем увеличить внешний канал до 2Гигабит/с.

Что можете посоветовать чтобы повысить производительность данного сервера? либо на что его заменить, что смогло бы переваривать такой объем трафика.

Posted (edited)

Кууууды столько. 2 Гбит при ~250 Kpps спокойно один Core2 E8500 осиляет на Linux/e1000e. RPS бы неплохо, но насколько помню в *BSD его нема. Да и PF не распараллеливается, может как раз быть причиной затыка на em'ах. Попробуйте-таки на Linux пересесть, не скажу, что в вашем случае 100% поможет - надо понимать характер трафика + что конкретно за сетевухи, но с распараллеливанием в последних ядрах Linux всё куда интереснее. Сервер такого класса явно способен на много большее, чем 2 гига в ipmix'е...

Edited by Alex/AT
Posted (edited)

Кууууды столько. 2 Гбит при ~250 Kpps спокойно один Core2 E8500 осиляет на Linux/e1000e. RPS бы неплохо, но насколько помню в *BSD его нема. Да и PF не распараллеливается, может как раз быть причиной затыка на em'ах. Попробуйте-таки на Linux пересесть, не скажу, что в вашем случае 100% поможет - надо понимать характер трафика + что конкретно за сетевухи, но с распараллеливанием в последних ядрах Linux всё куда интереснее. Сервер такого класса явно способен на много большее, чем 2 гига в ipmix'е...

характер трафика стандартный-торренты)

модель сетевух сейчас точно не скажу, помню что из серии ServerPRO adapter. Две однопортовых, и одна двухпортовая.и две встренные в мать, тоже интелевские

Edited by woda
Posted

Кууууды столько. 2 Гбит при ~250 Kpps спокойно один Core2 E8500 осиляет на Linux/e1000e. RPS бы неплохо, но насколько помню в *BSD его нема. Да и PF не распараллеливается, может как раз быть причиной затыка на em'ах. Попробуйте-таки на Linux пересесть, не скажу, что в вашем случае 100% поможет - надо понимать характер трафика + что конкретно за сетевухи, но с распараллеливанием в последних ядрах Linux всё куда интереснее. Сервер такого класса явно способен на много большее, чем 2 гига в ipmix'е...

Xто за бред? У вас тоже на коре2 Е8500 вместе с двумя гигабитами еще всякий софт крутится? и сразу из коробки, без дополнительных настроек - в поле трафик молотить?

 

2топик стартер

sysctl dev.em

cat /boot/loader.conf

 

тюнинг интеловских сетевок(и не только) тут обсасывали со всех сторон, поищите темки

Posted

там поди городской бэкбон, пиринговое подключение поднято на 1Г, не на L3 коммутаторе, а на этом же сервере.

Posted (edited)
Xто за бред? У вас тоже на коре2 Е8500 вместе с двумя гигабитами еще всякий софт крутится?

А при чём тут софт, кстате? Трафик отдельно, софт отдельно. На такой машине, как у ТС, можно кроме 2 Гбит еще и целый вагон прочих сервисов гонять, если уж на то пошло. Понятно, что в здравом уме этого никто делать не станет, но в теории какие проблемы? 8 честных ядер, два набора L1/L2/L3.

Edited by Alex/AT
Posted

Может, прикупить AS и забыть о геморрое с натом?

А так да, какая-то корка или 2-головый атлон/феном с парой 82576 вполне без ната пережуют пару гигабит под линем, и не подавятся. С натом - смотря как коннтрак подтюнить, если хеш поболее ему задать - тоже проблем особо быть не должно. Хотя не экспериментировал с такими скоростями и натом.

Posted

Тема тюнинга FreeBSD (ну и линукса тоже, кстати) под NAT/роутинг действительно здесь многократно обсуждалась. Рекомендую перейти на FreeBSD 9.0 уже, там много добавлений по сетевой части (4-tuple привязка обработки соединений к процессору, появилось RSS), а главное, меняйте сетевые карты на поддерживающие несколько TX/RX очередей, классика - на Intel 82576. Ну или покажите точнее, что у вас за карты (pciconf -lv)

Posted

Кууууды столько. 2 Гбит при ~250 Kpps спокойно один Core2 E8500 осиляет на Linux/e1000e. RPS бы неплохо, но насколько помню в *BSD его нема. Да и PF не распараллеливается, может как раз быть причиной затыка на em'ах. Попробуйте-таки на Linux пересесть, не скажу, что в вашем случае 100% поможет - надо понимать характер трафика + что конкретно за сетевухи, но с распараллеливанием в последних ядрах Linux всё куда интереснее. Сервер такого класса явно способен на много большее, чем 2 гига в ipmix'е...

Xто за бред? У вас тоже на коре2 Е8500 вместе с двумя гигабитами еще всякий софт крутится? и сразу из коробки, без дополнительных настроек - в поле трафик молотить?

 

2топик стартер

sysctl dev.em

cat /boot/loader.conf

 

тюнинг интеловских сетевок(и не только) тут обсасывали со всех сторон, поищите темки

dev.em.0.%desc: Intel® PRO/1000 Network Connection 7.1.9

dev.em.0.%driver: em

dev.em.0.%location: slot=0 function=0 handle=\_SB_.PCI0.MRP1.HART

dev.em.0.%pnpinfo: vendor=0x8086 device=0x10d3 subvendor=0x8086 subdevice=0x34da class=0x020000

dev.em.0.%parent: pci1

dev.em.0.nvm: -1

dev.em.0.debug: -1

dev.em.0.rx_int_delay: 0

dev.em.0.tx_int_delay: 66

dev.em.0.rx_abs_int_delay: 66

dev.em.0.tx_abs_int_delay: 66

dev.em.0.rx_processing_limit: 100

dev.em.0.flow_control: 3

dev.em.0.link_irq: 4632

dev.em.0.mbuf_alloc_fail: 0

dev.em.0.cluster_alloc_fail: 0

dev.em.0.dropped: 0

dev.em.0.tx_dma_fail: 0

dev.em.0.rx_overruns: 0

dev.em.0.watchdog_timeouts: 0

dev.em.0.device_control: 1477444168

dev.em.0.rx_control: 67141634

dev.em.0.fc_high_water: 18432

dev.em.0.fc_low_water: 16932

dev.em.0.queue0.txd_head: 3320

dev.em.0.queue0.txd_tail: 3320

dev.em.0.queue0.tx_irq: 1198637833

dev.em.0.queue0.no_desc_avail: 0

dev.em.0.queue0.rxd_head: 1023

dev.em.0.queue0.rxd_tail: 1006

dev.em.0.queue0.rx_irq: 1161024396

dev.em.0.mac_stats.excess_coll: 0

dev.em.0.mac_stats.single_coll: 0

dev.em.0.mac_stats.multiple_coll: 0

dev.em.0.mac_stats.late_coll: 0

dev.em.0.mac_stats.collision_count: 0

dev.em.0.mac_stats.symbol_errors: 0

dev.em.0.mac_stats.sequence_errors: 0

dev.em.0.mac_stats.defer_count: 0

dev.em.0.mac_stats.missed_packets: 4633

dev.em.0.mac_stats.recv_no_buff: 490472

dev.em.0.mac_stats.recv_undersize: 0

dev.em.0.mac_stats.recv_fragmented: 0

dev.em.0.mac_stats.recv_oversize: 0

dev.em.0.mac_stats.recv_jabber: 0

dev.em.0.mac_stats.recv_errs: 0

dev.em.0.mac_stats.crc_errs: 0

dev.em.0.mac_stats.alignment_errs: 0

dev.em.0.mac_stats.coll_ext_errs: 0

dev.em.0.mac_stats.xon_recvd: 0

dev.em.0.mac_stats.xon_txd: 386830

dev.em.0.mac_stats.xoff_recvd: 0

dev.em.0.mac_stats.xoff_txd: 391463

dev.em.0.mac_stats.total_pkts_recvd: 4479682679

dev.em.0.mac_stats.good_pkts_recvd: 4479678046

dev.em.0.mac_stats.bcast_pkts_recvd: 5848

dev.em.0.mac_stats.mcast_pkts_recvd: 0

dev.em.0.mac_stats.rx_frames_64: 223338337

dev.em.0.mac_stats.rx_frames_65_127: 431756102

dev.em.0.mac_stats.rx_frames_128_255: 159227621

dev.em.0.mac_stats.tx_frames_256_511: 35680343

dev.em.0.mac_stats.tx_frames_512_1023: 59231313

dev.em.0.mac_stats.tx_frames_1024_1522: 670987799

dev.em.0.mac_stats.tso_txd: 736

dev.em.0.mac_stats.tso_ctx_fail: 0

dev.em.0.interrupts.asserts: 4619

dev.em.0.interrupts.rx_pkt_timer: 3

dev.em.0.interrupts.rx_abs_timer: 0

dev.em.0.interrupts.tx_pkt_timer: 0

dev.em.0.interrupts.tx_abs_timer: 1

dev.em.0.interrupts.tx_queue_empty: 0

dev.em.0.interrupts.tx_queue_min_thresh: 0

dev.em.0.interrupts.rx_desc_min_thresh: 0

dev.em.0.interrupts.rx_overrun: 0

dev.em.1.%desc: Intel® PRO/1000 Network Connection 7.1.9

dev.em.1.%driver: em

dev.em.1.%location: slot=25 function=0 handle=\_SB_.PCI0.ILAN

dev.em.1.%pnpinfo: vendor=0x8086 device=0x10cc subvendor=0x8086 subdevice=0x34da class=0x020000

dev.em.1.%parent: pci0

dev.em.1.nvm: -1

dev.em.1.debug: -1

dev.em.1.rx_int_delay: 0

dev.em.1.tx_int_delay: 66

dev.em.1.rx_abs_int_delay: 66

dev.em.1.tx_abs_int_delay: 66

dev.em.1.rx_processing_limit: 100

dev.em.1.flow_control: 3

dev.em.1.link_irq: 0

dev.em.1.mbuf_alloc_fail: 0

dev.em.1.cluster_alloc_fail: 0

dev.em.1.dropped: 0

dev.em.1.tx_dma_fail: 0

dev.em.1.rx_overruns: 0

dev.em.1.watchdog_timeouts: 0

dev.em.1.device_control: 1074790976

dev.em.1.rx_control: 67141634

dev.em.1.fc_high_water: 8192

dev.em.1.fc_low_water: 6692

dev.em.1.queue0.txd_head: 2547

dev.em.1.queue0.txd_tail: 2551

dev.em.1.queue0.tx_irq: 0

dev.em.1.queue0.no_desc_avail: 0

dev.em.1.queue0.rxd_head: 3696

dev.em.1.queue0.rxd_tail: 3691

dev.em.1.queue0.rx_irq: 0

dev.em.1.mac_stats.excess_coll: 0

dev.em.1.mac_stats.single_coll: 0

dev.em.1.mac_stats.multiple_coll: 0

dev.em.1.mac_stats.late_coll: 0

dev.em.1.mac_stats.collision_count: 0

dev.em.1.mac_stats.symbol_errors: 0

dev.em.1.mac_stats.sequence_errors: 0

dev.em.1.mac_stats.defer_count: 0

dev.em.1.mac_stats.missed_packets: 0

dev.em.1.mac_stats.recv_no_buff: 0

dev.em.1.mac_stats.recv_undersize: 0

dev.em.1.mac_stats.recv_fragmented: 0

dev.em.1.mac_stats.recv_oversize: 0

dev.em.1.mac_stats.recv_jabber: 0

dev.em.1.mac_stats.recv_errs: 0

dev.em.1.mac_stats.crc_errs: 0

dev.em.1.mac_stats.alignment_errs: 0

dev.em.1.mac_stats.coll_ext_errs: 0

dev.em.1.mac_stats.xon_recvd: 0

dev.em.1.mac_stats.xon_txd: 0

dev.em.1.mac_stats.xoff_recvd: 0

dev.em.1.mac_stats.xoff_txd: 0

dev.em.1.mac_stats.total_pkts_recvd: 3800368159

dev.em.1.mac_stats.good_pkts_recvd: 3800368159

dev.em.1.mac_stats.bcast_pkts_recvd: 12703181

dev.em.1.mac_stats.mcast_pkts_recvd: 23327

dev.em.1.mac_stats.rx_frames_64: 0

dev.em.1.mac_stats.rx_frames_65_127: 0

dev.em.1.mac_stats.rx_frames_128_255: 0

dev.em.1.mac_stats.rx_frames_256_511: 0

dev.em.1.mac_stats.rx_frames_512_1023: 0

dev.em.1.mac_stats.rx_frames_1024_1522: 0

dev.em.1.mac_stats.good_octets_recvd: 1375456205170

dev.em.1.mac_stats.good_octets_txd: 5125930590241

dev.em.1.mac_stats.total_pkts_txd: 5403755226

dev.em.1.mac_stats.good_pkts_txd: 5403755226

dev.em.1.mac_stats.bcast_pkts_txd: 263502

dev.em.1.mac_stats.mcast_pkts_txd: 0

dev.em.1.mac_stats.tx_frames_64: 0

dev.em.1.mac_stats.tx_frames_65_127: 0

dev.em.1.mac_stats.tx_frames_128_255: 0

dev.em.1.mac_stats.tx_frames_256_511: 0

dev.em.1.mac_stats.tx_frames_512_1023: 0

dev.em.1.mac_stats.tx_frames_1024_1522: 0

dev.em.1.mac_stats.tso_txd: 7260

dev.em.1.mac_stats.tso_ctx_fail: 0

dev.em.1.interrupts.asserts: 1402236450

dev.em.1.interrupts.rx_pkt_timer: 0

dev.em.1.interrupts.rx_abs_timer: 0

dev.em.1.interrupts.tx_pkt_timer: 0

dev.em.1.interrupts.tx_abs_timer: 0

dev.em.1.interrupts.tx_queue_empty: 0

dev.em.1.interrupts.tx_queue_min_thresh: 0

dev.em.1.interrupts.rx_desc_min_thresh: 0

dev.em.1.interrupts.rx_overrun: 0

dev.em.1.wake: 0

 

loader.conf

hw.em.rxd=4096

hw.em.txd=4096

 

что с этим делать-то?

 

Тема тюнинга FreeBSD (ну и линукса тоже, кстати) под NAT/роутинг действительно здесь многократно обсуждалась. Рекомендую перейти на FreeBSD 9.0 уже, там много добавлений по сетевой части (4-tuple привязка обработки соединений к процессору, появилось RSS), а главное, меняйте сетевые карты на поддерживающие несколько TX/RX очередей, классика - на Intel 82576. Ну или покажите точнее, что у вас за карты (pciconf -lv)

а что в 9ке тюнить надо?

 

em0@pci0:2:0:0: class=0x020000 card=0x115e8086 chip=0x105e8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'

class = network

subclass = ethernet

em1@pci0:2:0:1: class=0x020000 card=0x115e8086 chip=0x105e8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'

class = network

subclass = ethernet

em2@pci0:3:0:0: class=0x020000 card=0x10828086 chip=0x107d8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'PRO/1000 PT'

class = network

subclass = ethernet

em4@pci0:4:0:0: class=0x020000 card=0x10828086 chip=0x107d8086 rev=0x06 hdr=0x00

vendor = 'Intel Corporation'

device = 'PRO/1000 PT'

class = network

subclass = ethernet

em5@pci0:5:0:0: class=0x020000 card=0x35788086 chip=0x10d38086 rev=0x00 hdr=0x00

vendor = 'Intel Corporation'

device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'

class = network

subclass = ethernet

 

Одна из немаловажных проблем, это отсутствие грамотного сисадмина в нашем городке. Поэтому приходится админить самому. А сам я в этом чайник.

Posted

Офф. Наймите по удалёнке. У нас одного оператора обслуживают два парня с Украины, они довольны.

Posted

Офф. Наймите по удалёнке. У нас одного оператора обслуживают два парня с Украины, они довольны.

а где можно взять их контакты?

Posted

ПО топу видно, что нагрузка на ем3-4 уже практически критическая, но при этом другие ядра простаивают. Мы планируем увеличить внешний канал до 2Гигабит/с.

Что можете посоветовать чтобы повысить производительность данного сервера? либо на что его заменить, что смогло бы переваривать такой объем трафика.

 

 

Могу взять на обслуживание по удаленке:)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.