[SOLVED] RX-TX eth0 и eth1 на 4 ядра CoreQuad 9550
gebs 24 октября, 2010 - 17:00
Здравствуйте. В продолжение недавней темы про "высокопроизводительные сетевые карты" хотел задать вопрос. Он озвучен ниже.
Сейчас на сервер следующая картина:
router ~ # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 3056 RX Mini: 0 RX Jumbo: 0 TX: 3056
router ~ # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 2058 RX Mini: 0 RX Jumbo: 0 TX: 2058
top - 16:56:40 up 21:28, 4 users, load average: 2.67, 2.77, 2.68 Tasks: 115 total, 5 running, 110 sleeping, 0 stopped, 0 zombie Cpu(s): 4.3%us, 0.8%sy, 0.0%ni, 74.3%id, 2.8%wa, 0.6%hi, 17.2%si, 0.0%st Mem: 3371044k total, 3284008k used, 87036k free, 152828k buffers Swap: 7815612k total, 108k used, 7815504k free, 2683888k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10 root 15 -5 0 0 0 R 95 0.0 39:02.16 ksoftirqd/3 8214 mysql 20 0 147m 49m 4548 S 24 1.5 62:24.65 mysqld 8695 named 20 0 29976 21m 2248 S 20 0.7 49:14.93 named 4 root 15 -5 0 0 0 S 16 0.0 42:22.42 ksoftirqd/0 14 root 15 -5 0 0 0 R 6 0.0 1:43.88 events/3 3413 root 20 0 7344 3088 1780 S 2 0.1 0:39.26 mc 8636 root 20 0 2524 496 400 S 2 0.0 0:08.82 irqbalance 1 root 20 0 1684 556 508 S 0 0.0 204:55.67 init 2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd 3 root RT -5 0 0 0 S 0 0.0 0:00.89 migration/0 5 root RT -5 0 0 0 S 0 0.0 0:00.02 migration/1 6 root 15 -5 0 0 0 S 0 0.0 0:00.27 ksoftirqd/1 7 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/2 8 root 15 -5 0 0 0 S 0 0.0 0:00.35 ksoftirqd/2
router ~ # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 270 113 0 3 IO-APIC-edge timer 1: 0 0 1 1 IO-APIC-edge i8042 8: 28 29 28 30 IO-APIC-edge rtc0 9: 0 0 0 0 IO-APIC-fasteoi acpi 14: 0 0 0 0 IO-APIC-edge ata_piix 15: 0 0 0 0 IO-APIC-edge ata_piix 16: 992 976 1253350 116335 IO-APIC-fasteoi 3w-9xxx, uhci_hcd:usb3 17: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4 18: 0 0 0 0 IO-APIC-fasteoi ata_piix, ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8 22: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb7 23: 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 53: 20230 29042 20224 681499364 PCI-MSI-edge eth0 54: 608223583 41539 41173 41493 PCI-MSI-edge eth1 NMI: 0 0 0 0 Non-maskable interrupts LOC: 654581839 49163413 49095103 682829532 Local timer interrupts SPU: 0 0 0 0 Spurious interrupts RES: 262104 41017 47221 231818 Rescheduling interrupts CAL: 51 60 58 55 Function call interrupts TLB: 187975 166031 137468 160141 TLB shootdowns ERR: 0 MIS: 0
router ~ # ethtool -i eth0 driver: e1000e version: 0.3.3.4-k4 firmware-version: 0.15-5 bus-info: 0000:0d:00.0
router ~ # ethtool -i eth1 driver: e1000e version: 0.3.3.4-k4 firmware-version: 0.5-7 bus-info: 0000:0f:00.0
router ~ # ethstatus 63.42 MB/s 83181 Packets/ Interface name: eth0 Graphic Using Speed: 9.77 MB/s Top Speed: 66.97 MB/s Top Packets/s: 87292 Received Packets: 1609652841 Transmited Packets: 1358456786 Errors on Receiving: 0 Errors on Transmission: 0
Собстна поясню, возможно ли на данном драйвере с данным железом разнести rx-tx на разные ядра процессора, так как согласно статистике 2 ядра вообще не задействованы? Спасибо!
»
- Для комментирования войдите или зарегистрируйтесь
На этом железе - никак.
На этом железе - никак.
На каком можно - читайте это.
Кстати, в предыдущей теме вы показали график. Там максимумом было 30kpps (если резкие пики не учитывать). Сейчас же вы показываете аж 83kpps. Если это один и тот же сервер, то стоит сначала задуматься что провоцирует такой скачок.
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!
Спасибо. По поводу графика,
Спасибо. По поводу графика, то это данные до и после разбрасывания прерываний и увеличения буферов сетевок.
pps не должен был от этого
pps не должен был от этого увеличиться.
в любом случае - было максимум 30, получили 40 туда и обратно. Рост налицо. Откуда? Юзеры балуют?
Вообще я не был полностью прав. В 2.6.35 добавили функции Receive Packet Steering (RPS) и Receive Flow Steering (RFS). Эти фичи позволяют распараллеливать нагрузку на ядрах. Поищите на том же форуме нага - обсуждалось уже.
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!
Да изнчально нагрузка
Да изнчально нагрузка равнозначно ложилась на все ядра, сейчас 2 ядра полностью загружены, а 2 бездейстуют. А рост из-за того, что юзеров ~1,5К и сервер смог пропустить больше.
_passer написал(а): В 2.6.35
Сейчас уже на вируталке ставлю 2.6.36 поковыряю. Спасибо.
_passer написал(а):На этом
И провоцирует такой скачок, то что юзерам открыли кислород)
Кстати, в pdf-ке присуьсвует чип моей сетевой Intel® 82573E/V Intel® 82573L, но как было посоветовано в предыдущей теме, то вполне подойдёт вот это Intel® 82576EB2, а именно "16Rx/16Tx queues/port" правильно я понимаю?
А график сейчас выглядит вот так:
И непонятно, где данные точнее в cacti или те, что выдаёт etstatus...
gebs написал(а):вполне
Да, более чем.
Примерно похожи. Различия не существенны, по-моему.
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!
Благодарю, за
Благодарю Всех, за профессиональные и быстрые ответы!