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

serg_sk

Пользователи
  • Posts

    96
  • Joined

  • Last visited

About serg_sk

  • Rank
    Абитуриент
    Абитуриент

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. net.isr попробую. Но надо включить ему несколько потоков)
  2. Очереди сетевух сжирают весь процессор. Что можно предпринять? PMC: [iNSTR_RETIRED_ANY] Samples: 191930 (100.0%) , 0 unresolved %SAMP IMAGE FUNCTION CALLERS 27.1 kernel __mtx_lock_sleep dummynet_io 10.6 kernel ipfw_chk ipfw_check_packet 7.6 kernel fsk_match dn_ht_find 5.5 kernel rn_match ipfw_lookup_table:4.7 rtalloc1_fib:0.8 3.3 libc.so.7 bsearch 0x6564 2.8 kernel __rw_rlock in_localip:0.5 ipfw_chk:0.5 2.4 kernel bcmp pf_find_state 2.0 kernel _rw_runlock_cookie in_localip 1.8 pf.ko pf_test pf_check_in:1.0 pf_check_out:0.8 1.8 kernel bzero ipfw_check_packet 1.5 kernel dn_ht_find dummynet_io 1.1 kernel murmur3_aligned_32 pf_find_state 1.1 pmcstat 0x657c bsearch 1.0 kernel ip_fastforward ether_demux 0.9 kernel bcopy m_copydata 0.8 kernel ipfw_lookup_table ipfw_chk 0.8 kernel dummynet_io ipfw_check_packet 0.8 pf.ko pf_change_ap 0.7 kernel ixgbe_rxeof ixgbe_msix_que 0.7 pf.ko pf_test_rule pf_test 0.7 pmcstat 0x6591 bsearch 0.7 pf.ko pf_test_state_tcp pf_test 0.7 kernel ipfw_lookup_dyn_rule ipfw_chk 0.6 kernel strncmp iface_match 0.6 pf.ko pf_match_translation pf_get_translation 0.6 kernel ixgbe_xmit ixgbe_mq_start_locked 0.6 kernel bounce_bus_dmamap_lo bus_dmamap_load_mbuf_sg 0.6 kernel ether_nh_input netisr_dispatch_src 0.5 kernel uma_zalloc_arg 0.5 kernel rtalloc1_fib rtalloc_ign_fib last pid: 85063; load averages: 8.39, 7.77, 7.41 up 2+06:35:16 21:46:13 187 processes: 21 running, 121 sleeping, 45 waiting CPU: 0.0% user, 0.0% nice, 5.4% system, 84.8% interrupt, 9.7% idle Mem: 24M Active, 150M Inact, 1085M Wired, 1655M Buf, 30G Free Swap: PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 12 root -92 - 0K 832K CPU3 3 24.1H 100.00% intr{irq278: ix0:q2} 12 root -92 - 0K 832K CPU4 4 24.6H 98.88% intr{irq279: ix0:q3} 12 root -92 - 0K 832K CPU2 2 25.0H 98.58% intr{irq277: ix0:q1} 12 root -92 - 0K 832K CPU1 1 24.8H 98.10% intr{irq276: ix0:q0} 12 root -92 - 0K 832K CPU5 5 24.5H 97.56% intr{irq280: ix0:q4} 11 root 155 ki31 0K 128K RUN 0 41.6H 96.48% idle{idle: cpu0} 12 root -92 - 0K 832K CPU7 7 24.6H 96.48% intr{irq282: ix0:q6} 12 root -92 - 0K 832K CPU6 6 24.0H 95.65% intr{irq281: ix0:q5} 14916 root 20 -15 96012K 40904K nanslp 0 219:17 6.05% perl 11 root 155 ki31 0K 128K RUN 3 29.8H 5.37% idle{idle: cpu3} 11 root 155 ki31 0K 128K RUN 6 29.9H 3.37% idle{idle: cpu6} 11 root 155 ki31 0K 128K RUN 7 29.4H 2.49% idle{idle: cpu7} 11 root 155 ki31 0K 128K RUN 5 29.5H 1.56% idle{idle: cpu5} 11 root 155 ki31 0K 128K RUN 1 29.2H 1.07% idle{idle: cpu1} 11 root 155 ki31 0K 128K RUN 2 29.0H 0.98% idle{idle: cpu2} 11 root 155 ki31 0K 128K RUN 4 29.3H 0.29% idle{idle: cpu4} 14 root -16 - 0K 16K - 6 23:36 0.10% rand_harvestq 0 root -16 - 0K 560K swapin 0 244.4H 0.00% kernel{swapper} 0 root -92 - 0K 560K CPU0 0 711:46 0.00% kernel{dummynet}
  3. Где-то в гугле нашел. Правда там до 4000 поднимали, но я пошел дальше для тестов :) P.S. При kern.hz = 1000 Удалось прокачать 3.7Г трафа. Но это еще не предел, больше не было. Можно еще немного абонов занатить :)
  4. Установил в 1000. Будем проверять. Вообще не критично :)
  5. В каком смысле перекос? Выставить можно, надо пробовать )
  6. Итак. Игры с тюнингом без выключения HT и вытаскиванием проца помогли вытащить 2.5Г трафа максимум. Дальше был отключен HT, стало немного лучше, но не совсем. Потом конфигурация с 8гигабитными сетевухами была заменена на карту в 10Г. И одновременно был вытащен второй процессор. В идеале надо было делать по очереди, чтобы ощутить разницу. Вначале все равно немного не стабильно работало. dummynet жрал как не всебя много. Но установка kern.hz=4000 (было 8000) дала свои результаты. Итого имеем 3.4Гтрафа, load average держится около 5.00. Графики и вывод top постараюсь потом добавить при таких параметрах. А сейчас 1.7Г трафа: last pid: 95967; load averages: 2.54, 2.62, 2.47 up 1+00:26:00 09:45:15 178 processes: 10 running, 117 sleeping, 51 waiting CPU: 0.0% user, 0.0% nice, 3.1% system, 32.1% interrupt, 64.9% idle Mem: 22M Active, 90M Inact, 1044M Wired, 1656M Buf, 30G Free Swap: PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 11 root 155 ki31 0K 128K RUN 0 17.2H 99.02% idle{idle: cpu0} 11 root 155 ki31 0K 128K RUN 5 983:00 73.97% idle{idle: cpu5} 11 root 155 ki31 0K 128K CPU1 1 976:17 73.29% idle{idle: cpu1} 11 root 155 ki31 0K 128K RUN 6 997:04 72.66% idle{idle: cpu6} 11 root 155 ki31 0K 128K CPU7 7 996:03 72.56% idle{idle: cpu7} 11 root 155 ki31 0K 128K RUN 3 975:00 72.27% idle{idle: cpu3} 11 root 155 ki31 0K 128K CPU4 4 990:58 70.95% idle{idle: cpu4} 11 root 155 ki31 0K 128K CPU2 2 976:02 68.02% idle{idle: cpu2} 12 root -92 - 0K 832K WAIT 2 470:55 32.32% intr{irq277: ix0:q1} 12 root -92 - 0K 832K WAIT 5 463:16 32.03% intr{irq280: ix0:q4} 12 root -92 - 0K 832K CPU1 1 469:56 31.93% intr{irq276: ix0:q0} 12 root -92 - 0K 832K WAIT 4 454:54 31.84% intr{irq279: ix0:q3} 12 root -92 - 0K 832K WAIT 7 449:42 31.49% intr{irq282: ix0:q6} 12 root -92 - 0K 832K WAIT 6 448:32 31.05% intr{irq281: ix0:q5} 12 root -92 - 0K 832K WAIT 3 471:53 29.25% intr{irq278: ix0:q2} 1794 root 20 -15 96012K 39080K nanslp 5 97:07 3.32% perl 0 root -92 - 0K 560K - 0 414:00 2.83% kernel{dummynet} 0 root -16 - 0K 560K swapin 2 46.6H 0.00% kernel{swapper} 14 root -16 - 0K 16K - 7 10:34 0.00% rand_harvestq 3 root -16 - 0K 16K pftm 0 4:21 0.00% pf purge 23074 root 20 0 21948K 3336K CPU7 7 1:13 0.00% top 1648 root 20 0 67184K 10572K select 1 1:11 0.00% snmpd 0 root -92 - 0K 560K - 6 0:53 0.00% kernel{ix0:q0} 0 root -92 - 0K 560K - 1 0:50 0.00% kernel{ix0:q3} 0 root -92 - 0K 560K - 5 0:50 0.00% kernel{ix0:q5} 0 root -92 - 0K 560K - 2 0:48 0.00% kernel{ix0:q4} 0 root -92 - 0K 560K - 6 0:48 0.00% kernel{ix0:q2} 0 root -92 - 0K 560K - 7 0:46 0.00% kernel{ix0:q1} 0 root -92 - 0K 560K - 2 0:46 0.00% kernel{ix0:q6} Попробуем апнуть 4+гига )
  7. Было сделано. 1. dummynet прибит на CPU0 2. Уменьшено количество очередей на сетевых картах до 2. 3. irq сетевух раскинул по ядрам от 16 до 31. 4. sysctl net.isr.dispatch=direct Вот показатели при трафике +- 2.2Гига. last pid: 84157; load averages: 7.58, 6.91, 7.33 up 0+14:23:37 21:58:08 272 processes: 47 running, 138 sleeping, 1 zombie, 86 waiting CPU: 0.0% user, 0.0% nice, 3.1% system, 18.3% interrupt, 78.6% idle Mem: 28M Active, 107M Inact, 942M Wired, 768K Cache, 265M Buf, 61G Free Swap: PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 11 root 155 ki31 0K 512K CPU4 4 740:23 100.00% idle{idle: cpu4} 11 root 155 ki31 0K 512K CPU2 2 738:52 100.00% idle{idle: cpu2} 11 root 155 ki31 0K 512K CPU3 3 738:25 100.00% idle{idle: cpu3} 11 root 155 ki31 0K 512K CPU7 7 737:34 100.00% idle{idle: cpu7} 11 root 155 ki31 0K 512K RUN 10 736:50 100.00% idle{idle: cpu10} 11 root 155 ki31 0K 512K CPU13 13 736:27 100.00% idle{idle: cpu13} 11 root 155 ki31 0K 512K CPU5 5 735:04 100.00% idle{idle: cpu5} 11 root 155 ki31 0K 512K CPU15 15 731:08 100.00% idle{idle: cpu15} 11 root 155 ki31 0K 512K CPU9 9 731:06 100.00% idle{idle: cpu9} 11 root 155 ki31 0K 512K CPU8 8 730:06 100.00% idle{idle: cpu8} 11 root 155 ki31 0K 512K CPU12 12 729:19 100.00% idle{idle: cpu12} 11 root 155 ki31 0K 512K CPU11 11 728:47 100.00% idle{idle: cpu11} 11 root 155 ki31 0K 512K CPU14 14 718:12 100.00% idle{idle: cpu14} 11 root 155 ki31 0K 512K CPU1 1 725:30 99.32% idle{idle: cpu1} 11 root 155 ki31 0K 512K CPU6 6 735:14 99.22% idle{idle: cpu6} 0 root -92 - 0K 432K CPU0 0 185:58 98.39% kernel{dummynet} 11 root 155 ki31 0K 512K CPU25 25 584:44 73.14% idle{idle: cpu25} 11 root 155 ki31 0K 512K CPU29 29 579:52 72.31% idle{idle: cpu29} 11 root 155 ki31 0K 512K CPU26 26 582:24 72.07% idle{idle: cpu26} 11 root 155 ki31 0K 512K CPU20 20 717:10 70.41% idle{idle: cpu20} 11 root 155 ki31 0K 512K CPU28 28 585:04 69.92% idle{idle: cpu28} 11 root 155 ki31 0K 512K CPU27 27 587:26 68.99% idle{idle: cpu27} 11 root 155 ki31 0K 512K CPU18 18 720:27 67.33% idle{idle: cpu18} 11 root 155 ki31 0K 512K CPU22 22 708:13 65.53% idle{idle: cpu22} 11 root 155 ki31 0K 512K CPU30 30 575:57 65.28% idle{idle: cpu30} 11 root 155 ki31 0K 512K CPU19 19 710:14 65.19% idle{idle: cpu19} 11 root 155 ki31 0K 512K CPU16 16 713:54 63.82% idle{idle: cpu16} 11 root 155 ki31 0K 512K RUN 31 546:46 63.77% idle{idle: cpu31} 11 root 155 ki31 0K 512K RUN 17 718:39 63.53% idle{idle: cpu17} 11 root 155 ki31 0K 512K CPU23 23 715:42 62.11% idle{idle: cpu23} 11 root 155 ki31 0K 512K RUN 21 718:10 61.33% idle{idle: cpu21} 11 root 155 ki31 0K 512K RUN 24 539:55 60.16% idle{idle: cpu24} 12 root -92 - 0K 1584K CPU21 21 39:58 41.55% intr{irq271: igb2:que} 12 root -92 - 0K 1584K CPU24 24 229:30 41.06% intr{irq277: igb4:que} 12 root -92 - 0K 1584K CPU19 19 45:16 40.62% intr{irq268: igb1:que} 12 root -92 - 0K 1584K CPU23 23 41:13 37.65% intr{irq274: igb3:que} 12 root -92 - 0K 1584K CPU20 20 39:30 36.67% intr{irq270: igb2:que} 12 root -92 - 0K 1584K CPU17 17 40:04 36.62% intr{irq265: igb0:que} 12 root -92 - 0K 1584K CPU16 16 39:20 36.28% intr{irq264: igb0:que} 12 root -92 - 0K 1584K CPU31 31 223:12 35.89% intr{irq287: igb7:que} 12 root -92 - 0K 1584K CPU22 22 41:00 35.50% intr{irq273: igb3:que} 12 root -92 - 0K 1584K WAIT 30 195:54 35.01% intr{irq286: igb7:que} 12 root -92 - 0K 1584K CPU27 27 189:05 34.08% intr{irq281: igb5:que} 12 root -92 - 0K 1584K CPU18 18 39:30 33.54% intr{irq267: igb1:que} 12 root -92 - 0K 1584K CPU25 25 186:29 33.35% intr{irq278: igb4:que} 12 root -92 - 0K 1584K CPU29 29 193:23 31.15% intr{irq284: igb6:que} 12 root -92 - 0K 1584K WAIT 26 187:59 31.10% intr{irq280: igb5:que} 12 root -92 - 0K 1584K WAIT 28 189:16 30.76% intr{irq283: igb6:que} 11 root 155 ki31 0K 512K RUN 0 572:58 3.61% idle{idle: cpu0} 1420 root 20 -15 91916K 36888K nanslp 15 66:08 2.59% perl 3 root -16 - 0K 16K pftm 10 6:07 0.34% pf purge 55294 root 20 0 21948K 3716K CPU10 10 0:07 0.05% top 0 root -16 - 0K 432K swapin 5 190.3H 0.00% kernel{swapper} И вот как только dummynet упирается в 100%, нагрузка CPU по очередям сетевух тоже начинает расти. Если вообще выключить шейпер, то вообще все прекрасно. Более меннее с узким местом разобрались. Попробую еще с выключенным hyperthreading'ом, но думаю это ситуацию не поменяет. Подскажите как уменьшить нагрузку от dummynet?
  8. Я не вижу, чтобы pf вел себя неадекватно. Судя по pmcstat он вполне справляется с нагрузкой и проблема явно не в нем.
  9. Да может и с, но как-то не использовал. А что не так с фряхой? Допустим можно поставть и линукс. Чем там резать скорости? tc?
  10. Это надо быть в серверной, когда он перегружается :) Выставил 2. Посмотрим сегодня. dummynet прибил к 0. Прерывания сетевух на ядра 16-31. Норм? ) И еще нюанс. Не может это быть из-за lacp? Вчера я уперся ровно в 2.3 Gbit/s.
  11. Такс.. если в момент нагрузки на сервер добавить правило ipfw 1 allow any to any То видим следующую картину: PMC: [iNSTR_RETIRED_ANY] Samples: 153639 (100.0%) , 0 unresolved %SAMP IMAGE FUNCTION CALLERS 27.7 kernel cpu_search_highest cpu_search_highest:24.8 sched_idletd:2.9 14.5 kernel cpu_search_lowest cpu_search_lowest:13.0 sched_pickcpu:1.5 2.5 kernel ipfw_chk ipfw_check_packet 2.3 kernel _mtx_lock_spin_cooki pmclog_reserve:0.8 tdq_lock_pair:0.7 sched_idletd:0.7 1.8 kernel __rw_rlock 1.8 kernel sched_pickcpu sched_add 1.7 libc.so.7 bsearch 0x6564 1.7 pf.ko pf_test pf_check_in:0.9 pf_check_out:0.8 1.5 kernel ip_input swi_net 1.5 kernel sched_switch mi_switch 1.5 kernel tdq_move sched_idletd 1.5 kernel spinlock_exit 1.4 kernel bcmp pf_find_state 1.3 kernel _rw_runlock_cookie 1.0 kernel bzero 0.9 kernel thread_lock_flags_ 0.9 kernel cpu_switch mi_switch 0.9 kernel igb_rxeof igb_msix_que 0.9 kernel murmur3_aligned_32 pf_find_state 0.8 kernel ithread_loop fork_exit 0.7 kernel critical_exit 0.7 kernel bcopy 0.7 kernel spinlock_enter 0.7 pmcstat 0x657c bsearch При 2гигах трафика. last pid: 60863; load averages: 4.81, 12.71, 16.60 up 1+09:45:15 17:41:11 Если обратно прокускать трафик по фаерволу, то получаем PMC: [iNSTR_RETIRED_ANY] Samples: 273794 (100.0%) , 0 unresolved %SAMP IMAGE FUNCTION CALLERS 25.7 kernel __mtx_lock_sleep dummynet_io 13.4 kernel cpu_search_lowest cpu_search_lowest:12.2 sched_pickcpu:1.3 8.4 kernel cpu_search_highest cpu_search_highest:7.1 sched_idletd:1.3 5.2 kernel ipfw_chk ipfw_check_packet 3.7 kernel rn_match ipfw_lookup_table 3.6 kernel _mtx_lock_spin_cooki turnstile_trywait:1.6 pmclog_reserve:1.2 3.2 kernel fsk_match dn_ht_find 2.3 libc.so.7 bsearch 0x6564 1.3 kernel tdq_move sched_idletd 1.2 pf.ko pf_test pf_check_in 1.0 kernel __rw_rlock 0.8 kernel spinlock_exit 0.8 kernel bcmp pf_find_state 0.8 pmcstat 0x657c bsearch 0.8 kernel ip_input swi_net 0.7 kernel ipfw_lookup_table ipfw_chk 0.7 kernel sched_switch mi_switch 0.7 kernel _rw_runlock_cookie 0.6 kernel murmur3_aligned_32 pf_find_state 0.5 kernel bzero 0.5 kernel sched_pickcpu sched_add И нагрузку соответственно: last pid: 62205; load averages: 26.59, 18.48, 18.17 up 1+09:48:15 17:44:11 Попробую ночью ребутнуть сервер, чтобы уменьшить количество очередей. Ставить 2 или 4?
  12. Переделал. Ждем нагрузки. 00002 402710575 21041055540 allow ip from 10.4.4.0/23 to any 00003 8607 711300 allow ip from any to 10.4.4.0/23 00011 39086 2857136 deny ip from any to any dst-port 135,137,138,139 00200 15902 3124664 allow ip from any to any via lo0 00300 29385013 20631396098 allow ip from me to any keep-state 00404 690 45448 allow ip from any to me dst-port 1723 01100 9248945 3463856379 allow ip from table(10) to table(10) 01500 30296 14519567 allow ip from table(5) to table(6) 01510 41042 33417482 allow ip from table(6) to table(5) 01600 460243308 202192958613 allow ip from table(5) to table(5) 02000 373662 19011770 deny tcp from not table(99) to any dst-port 25 02100 55107528 47897550128 allow ip from any to any via lagg1 02300 149976721 36153609289 deny ip from any to me 02422 39028824 51455272458 pipe tablearg ip from any to table(11) in recv lagg0 02423 15026478 2980858213 pipe tablearg ip from table(12) to any out xmit lagg0 65535 2167543 207304831 deny ip from any to any
  13. Пробовал, результата не дало. Попробую потом еще раз. Да и в теории не может он обрабатывать его несколько раз т.к. стоит net.inet.ip.fw.one_pass: 1 Как будет возможность - выключу. Просто рабочая тачка и надо это будет попробовать сделать ночью. На 32ом. Сетевухи по прерыванияем раскинул на первые 16 ядер. А вот это как сделать, подскажите. Сегодня попробую вечером сделать в фаерволе правило allow any to any. Посмотрим изменится ли нагрузка. Вчера перекинул 500 абонентов(~300-400мбит) на другой сервер. Этот начал работать нормально, выжал 2.28Г/c трафика. load averages: был в районе 15-20ти. Причем когда я с ноута тестировал скорость, то спокойно прокачивал по 500мбит на спидтесте.