kirush Опубликовано 15 ноября, 2009 · Жалоба Добрый день! Как можно попробовать уменьшить нагрузку? ОС: 7.2-RELEASE FreeBSD 7.2-RELEASE #1: Fri Oct 30 07:40:53 MSK 2009 top -S: CPU: 16.4% user, 0.0% nice, 79.8% system, 1.2% interrupt, 2.7% idle Mem: 1879M Active, 272M Inact, 238M Wired, 78M Cache, 112M Buf, 28M Free Swap: 20G Total, 122M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 47 root 1 -68 - 0K 8K CPU1 0 109.8H 54.05% dummynet 29 root 1 -68 - 0K 8K CPU2 2 119.2H 47.85% em0 taskq 30 root 1 -68 - 0K 8K RUN 1 68.1H 30.66% em1 taskq 3 root 1 -68 - 0K 8K sleep 0 56.7H 28.27% ng_queue1 5 root 1 -68 - 0K 8K RUN 2 56.4H 28.08% ng_queue3 2 root 1 -68 - 0K 8K sleep 3 57.0H 27.98% ng_queue0 4 root 1 -68 - 0K 8K RUN 2 57.0H 27.78% ng_queue2 netstat -n -I netstat -n -w 1 input (Total) output packets errs bytes packets errs bytes colls 32548 0 22016757 31937 0 22782519 0 31439 0 20604224 31444 0 22542233 0 31047 0 20950729 30919 0 22430378 0 30021 0 20034794 29841 0 21209338 0 31224 0 21204770 30945 0 22057784 0 31975 0 21377029 31526 0 22420445 0 33415 0 22041655 33198 0 23997000 0 33387 0 22411142 33145 0 24330539 0 nat не используется, используется tee Но если в правилах в самом начале ставится: allow ip from any to any Это не влияет на нагрузку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 15 ноября, 2009 (изменено) · Жалоба net.inet.ip.dummynet.io_fast: 0net.inet.ip.fastforwarding: 0 Подкрутите. А вообще маловато инфы предоставили. Изменено 15 ноября, 2009 пользователем goletsa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 15 ноября, 2009 · Жалоба установлено: net.inet.ip.dummynet.io_fast: 0 net.inet.ip.forwarding: 1 В какую сторону крутить? Добавлено: Сетевые установлены: em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4> media: Ethernet autoselect (1000baseTX <full-duplex>) em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4> media: Ethernet autoselect (1000baseTX <full-duplex>) Одна в сеть, другая в роутер смотрит в сторону инета. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 15 ноября, 2009 · Жалоба Логично что net.inet.ip.dummynet.io_fast=1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 15 ноября, 2009 · Жалоба Не помогло: 469 processes: 12 running, 442 sleeping, 15 waiting CPU: 23.8% user, 0.0% nice, 71.4% system, 2.4% interrupt, 2.4% idle Mem: 1882M Active, 303M Inact, 238M Wired, 45M Cache, 112M Buf, 28M Free Swap: 20G Total, 122M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 29 root 1 -68 - 0K 8K CPU1 1 119.7H 54.79% em0 taskq 47 root 1 -68 - 0K 8K CPU2 2 110.3H 37.16% dummynet 30 root 1 -68 - 0K 8K RUN 1 68.4H 28.76% em1 taskq 4 root 1 -68 - 0K 8K sleep 2 57.3H 26.17% ng_queue2 3 root 1 -68 - 0K 8K sleep 0 56.9H 25.88% ng_queue1 5 root 1 -68 - 0K 8K CPU3 3 56.7H 25.88% ng_queue3 2 root 1 -68 - 0K 8K CPU3 3 57.3H 25.59% ng_queue0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 15 ноября, 2009 · Жалоба netstat -w1 Сколько стало? Ибо нагрузка от dummynet то как раз упала. Смотрите свой первый пост. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 15 ноября, 2009 · Жалоба input (Total) output packets errs bytes packets errs bytes colls 30909 0 20072689 32699 0 25656930 0 31059 0 19980141 32670 0 25014000 0 29731 0 19190643 31548 0 24688002 0 30574 0 20003333 32036 0 25324530 0 30135 0 19582755 31963 0 25045469 0 31638 0 20605351 32923 0 25680173 0 30523 0 19322019 32052 0 24365580 0 30508 0 19460832 32195 0 25175629 0 33235 0 20893191 35394 0 28082804 0 32270 0 20770130 34172 0 26753143 0 32019 0 20629297 33931 0 27254060 0 А что такое em0 taskq, что это за задачи такие? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 15 ноября, 2009 · Жалоба Планировщик прерываний сетевой карты или типа того. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sid1333 Опубликовано 15 ноября, 2009 · Жалоба cpuset -l 0 -p 47 Уменьшит ли нагрузку на dummynet данная команда? и sysctl dev.em в студию Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 16 ноября, 2009 · Жалоба Загрузка в 7 утра: CPU: 0.9% user, 0.0% nice, 7.9% system, 0.1% interrupt, 91.1% idle Mem: 1880M Active, 261M Inact, 240M Wired, 87M Cache, 112M Buf, 28M Free Swap: 20G Total, 122M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K CPU3 3 202.4H 100.00% idle: cpu3 13 root 1 171 ki31 0K 8K CPU1 1 183.9H 95.75% idle: cpu1 12 root 1 171 ki31 0K 8K RUN 2 183.3H 95.46% idle: cpu2 14 root 1 171 ki31 0K 8K RUN 0 189.6H 90.77% idle: cpu0 61725 root 1 48 0 28312K 3844K select 0 89.5H 6.88% ndsad 29 root 1 -68 - 0K 8K - 1 121.6H 6.30% em0 taskq 30 root 1 -68 - 0K 8K - 2 69.3H 3.47% em1 taskq 4 root 1 -68 - 0K 8K sleep 0 58.1H 2.29% ng_queue2 5 root 1 -68 - 0K 8K CPU0 0 57.5H 1.86% ng_queue3 2 root 1 -68 - 0K 8K sleep 0 58.1H 1.76% ng_queue0 3 root 1 -68 - 0K 8K sleep 3 57.8H 1.66% ng_queue1 netstat -w1: netstat -w1 input (Total) output packets errs bytes packets errs bytes colls 4850 0 3873959 4645 0 3384735 0 4713 0 3605982 4567 0 3115689 0 4869 0 4102627 4603 0 3381107 0 6053 0 5087425 5628 0 4084399 0 7110 0 5590639 6890 0 5232543 0 6302 0 5072037 5928 0 4274475 0 cpuset -l 0 -p 47 проверю, как только нагрузка вернется в прежнее состояние. sysctl -a | grep dev.em dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 6.9.6 dev.em.0.%driver: em dev.em.0.%location: slot=0 function=0 dev.em.0.%pnpinfo: vendor=0x8086 device=0x1096 subvendor=0x8086 subdevice=0x3484 class=0x020000 dev.em.0.%parent: pci5 dev.em.0.debug: -1 dev.em.0.stats: -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.1.%desc: Intel(R) PRO/1000 Network Connection 6.9.6 dev.em.1.%driver: em dev.em.1.%location: slot=0 function=1 dev.em.1.%pnpinfo: vendor=0x8086 device=0x1096 subvendor=0x8086 subdevice=0x3484 class=0x020000 dev.em.1.%parent: pci5 dev.em.1.debug: -1 dev.em.1.stats: -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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sid1333 Опубликовано 16 ноября, 2009 · Жалоба Выставите задержки так. Проверьте под нагрузкой, сгенерировав побольше трафика. dev.em.0.rx_int_delay=750 dev.em.0.tx_int_delay=750 dev.em.0.rx_abs_int_delay=1500 dev.em.0.tx_abs_int_delay=1500 dev.em.1.rx_int_delay=750 dev.em.1.tx_int_delay=750 dev.em.1.rx_abs_int_delay=1500 dev.em.1.tx_abs_int_delay=1500 Что у вас в netgraph кстати? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 16 ноября, 2009 (изменено) · Жалоба net.inet.ip.dummynet.io_fast: 0net.inet.ip.fastforwarding: 0 Подкрутите. А вообще маловато инфы предоставили. А это-то с чего? Я бы сказал, что как раз наоборот надо, в 1 выставить. Автор, покажите sysctl net.inet.ip, пожалуйста. Сделайте ещё sysctl dev.em.1.debug=1, sysclt dev.em.1.stats=1 и посмотрите после этого статистику по sysctl -a |egrep '^em1' Мне в аналогичной ситуации помог переход на яндексовские драйвера и такой тюнинг: dev.em.0.rx_abs_int_delay=1800 dev.em.0.rx_int_delay=900 dev.em.0.rx_kthreads=1 dev.em.0.tx_abs_int_delay=1800 dev.em.0.tx_int_delay=900 dev.em.1.rx_abs_int_delay=1800 dev.em.1.rx_int_delay=900 dev.em.1.rx_kthreads=1 dev.em.1.tx_abs_int_delay=1800 dev.em.1.tx_int_delay=900 kern.ipc.maxsockbuf=2097152 kern.ipc.nmbclusters=262144 kern.ipc.somaxconn=4096 kern.maxfiles=20480 kern.timecounter.hardware=HPET net.inet.ip.dummynet.expire=0 net.inet.ip.dummynet.hash_size=1024 net.inet.ip.dummynet.io_fast=1 net.inet.ip.fastforwarding=1 net.inet.ip.fw.one_pass=0 net.inet.ip.random_id=1 net.inet.ip.redirect=0 net.inet.ip.stealth=1 net.inet.tcp.delayed_ack=0 net.inet.tcp.drop_synfin=1 net.inet.tcp.recvspace=65228 net.inet.tcp.sendspace=65228 net.inet.tcp.syncookies=1 net.inet.udp.maxdgram=57344 net.inet.udp.recvspace=65228 net.link.ether.inet.log_arp_wrong_iface=0 Dummynet на аналогичной по железу и софту(но с поллингом и родными драйверами) сервере показывал высокую загрузку даже при снятии нагрузки, я об этом даже писал. Изменено 16 ноября, 2009 пользователем Dyr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
migosm Опубликовано 16 ноября, 2009 · Жалоба input (Total) output packets errs bytes packets errs bytes colls 30909 0 20072689 32699 0 25656930 0 31059 0 19980141 32670 0 25014000 0 29731 0 19190643 31548 0 24688002 0 30574 0 20003333 32036 0 25324530 0 30135 0 19582755 31963 0 25045469 0 31638 0 20605351 32923 0 25680173 0 30523 0 19322019 32052 0 24365580 0 30508 0 19460832 32195 0 25175629 0 33235 0 20893191 35394 0 28082804 0 32270 0 20770130 34172 0 26753143 0 32019 0 20629297 33931 0 27254060 0 А что такое em0 taskq, что это за задачи такие? Немного офтопну по поводу "em0 taskq". Может когда-то уже объясняли что это, я не видел (ткните в пруфлинк =) ) Это ядерный тред, запускается непосредственно при подгрузке драйвера(модуля) e1000 из sys/dev/e1000/if_em.c . Служит для отложенной обработки дескрипторов( этакий аналог adaptive interrupt mitigation ). Параметр rx_processing_limit в sysctl означает длинну очереди taskqueue, в которую запихивается код для асинхронной обработки дескрипторов. Сам тред исполняет функции em_handle_rxtx, em_handle_rx, em_handle_tx ( вызываемые функции зависят от типа прерываний, которые поддерживает сетевой адаптер). Параллельно еще существует swi(software interrupt thread) для обработки нижних половин прерываний. Но они начинают генерироваться только после функции ether_demux, которая регистрирует обработчик для IP пакетов через фреймворк netisr( функция netisr_register). Если где неправ или неточен - поправьте. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 16 ноября, 2009 · Жалоба Что такое нижняя и верхняя половина прерываний, не просветите? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
migosm Опубликовано 16 ноября, 2009 (изменено) · Жалоба Что такое нижняя и верхняя половина прерываний, не просветите? Верхняя половина - функция, которая непосредственно вызывается при генерации прерывания, по сути - interrupt service routine(isr). В этот момент задача этой функции совершить минимум действий и возвратить управление коду ядра с того момента, как этот код был прерван. Нижняя половина - тоже функция(не странно ли? =) ), которая выполняется уже не в контексте прерывания(хотя некоторые говорят, что во время прерывания контекст остутсвует), а после возврата из прерывания. Обычно (генерируется|планируется) из isr. В ядре Линукс реализация нижних половин представлена следующим многообразием - bottom half - устарело и не используется, оставлено для совместимости; softirq(он же механизм отложенных прерываний, не путать с napi), tasklets, workqueue. Пример на сетевой подсистеме ядра Линукс: В ядре Линукс сетевая подсистема реализована через механизм отложенных прерываний(softirq). - берем драйвер drivers/net/e1000e/netdev.c, - там есть функция e1000_intr_msi - это и есть isr в режиме MSI/MSI-X compatible, - если посмотреть, в теле этой функции есть вызов функции __napi_schedule(&adapter->napi) - это обертка для реализации NAPI, и \ генерации отоженного прерывания через __raise_softirq_irqoff(NET_RX_SOFTIRQ); - после генерации отложенного прерывания, оно может быть выполнено непосредственно после возврата из прерывания, либо в контекстве ядерного thread'а ksoftirqd Как то так. Изменено 16 ноября, 2009 пользователем migosm Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 16 ноября, 2009 · Жалоба Выставил dev.em.0.rx_int_delay=750 dev.em.0.tx_int_delay=750 dev.em.0.rx_abs_int_delay=1500 dev.em.0.tx_abs_int_delay=1500 dev.em.1.rx_int_delay=750 dev.em.1.tx_int_delay=750 dev.em.1.rx_abs_int_delay=1500 dev.em.1.tx_abs_int_delay=1500 Такое ощущение что картинка стала получше, но все равно печальна: CPU: 12.7% user, 0.0% nice, 59.2% system, 1.3% interrupt, 26.8% idle Mem: 1917M Active, 226M Inact, 242M Wired, 82M Cache, 112M Buf, 28M Free Swap: 20G Total, 116M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 14 root 1 171 ki31 0K 8K CPU0 0 196.6H 46.48% idle: cpu0 29 root 1 -68 - 0K 8K - 3 127.4H 39.45% em0 taskq 11 root 1 171 ki31 0K 8K RUN 3 210.1H 38.18% idle: cpu3 12 root 1 171 ki31 0K 8K RUN 2 190.2H 33.06% idle: cpu2 47 root 1 -68 - 0K 8K CPU0 0 115.4H 27.98% dummynet 2 root 1 -68 - 0K 8K sleep 2 60.8H 21.97% ng_queue0 3 root 1 -68 - 0K 8K sleep 2 60.4H 21.97% ng_queue1 5 root 1 -68 - 0K 8K sleep 1 60.2H 21.09% ng_queue3 4 root 1 -68 - 0K 8K sleep 1 60.8H 19.97% ng_queue2 sysctl -a | grep net.inet.ip net.inet.ip.portrange.randomtime: 45 net.inet.ip.portrange.randomcps: 10 net.inet.ip.portrange.randomized: 1 net.inet.ip.portrange.reservedlow: 0 net.inet.ip.portrange.reservedhigh: 1023 net.inet.ip.portrange.hilast: 65535 net.inet.ip.portrange.hifirst: 49152 net.inet.ip.portrange.last: 65535 net.inet.ip.portrange.first: 49152 net.inet.ip.portrange.lowlast: 600 net.inet.ip.portrange.lowfirst: 1023 net.inet.ip.forwarding: 1 net.inet.ip.redirect: 1 net.inet.ip.ttl: 64 net.inet.ip.rtexpire: 3600 net.inet.ip.rtminexpire: 10 net.inet.ip.rtmaxcache: 128 net.inet.ip.sourceroute: 0 net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 24988 net.inet.ip.accept_sourceroute: 0 net.inet.ip.keepfaith: 0 net.inet.ip.gifttl: 30 net.inet.ip.same_prefix_carp_only: 0 net.inet.ip.subnets_are_local: 0 net.inet.ip.dummynet.debug: 0 net.inet.ip.dummynet.pipe_byte_limit: 1048576 net.inet.ip.dummynet.pipe_slot_limit: 100 net.inet.ip.dummynet.io_pkt_drop: 136204191 net.inet.ip.dummynet.io_pkt_fast: 657487588 net.inet.ip.dummynet.io_pkt: 3758382550 net.inet.ip.dummynet.io_fast: 1 net.inet.ip.dummynet.tick_lost: 0 net.inet.ip.dummynet.tick_diff: 130353415 net.inet.ip.dummynet.tick_adjustment: 120232248 net.inet.ip.dummynet.tick_delta_sum: 197 net.inet.ip.dummynet.tick_delta: 2 net.inet.ip.dummynet.red_max_pkt_size: 1500 net.inet.ip.dummynet.red_avg_pkt_size: 512 net.inet.ip.dummynet.red_lookup_depth: 256 net.inet.ip.dummynet.max_chain_len: 16 net.inet.ip.dummynet.expire: 1 net.inet.ip.dummynet.search_steps: -250769548 net.inet.ip.dummynet.searches: -536584729 net.inet.ip.dummynet.extract_heap: 0 net.inet.ip.dummynet.ready_heap: 112 net.inet.ip.dummynet.hash_size: 256 net.inet.ip.fastforwarding: 0 net.inet.ip.fw.dyn_keepalive: 1 net.inet.ip.fw.dyn_short_lifetime: 5 net.inet.ip.fw.dyn_udp_lifetime: 10 net.inet.ip.fw.dyn_rst_lifetime: 1 net.inet.ip.fw.dyn_fin_lifetime: 1 net.inet.ip.fw.dyn_syn_lifetime: 20 net.inet.ip.fw.dyn_ack_lifetime: 300 net.inet.ip.fw.static_count: 59 net.inet.ip.fw.dyn_max: 4096 net.inet.ip.fw.dyn_count: 0 net.inet.ip.fw.curr_dyn_buckets: 256 net.inet.ip.fw.dyn_buckets: 2048 net.inet.ip.fw.tables_max: 128 net.inet.ip.fw.default_rule: 65535 net.inet.ip.fw.verbose_limit: 0 net.inet.ip.fw.verbose: 1 net.inet.ip.fw.one_pass: 1 net.inet.ip.fw.autoinc_step: 100 net.inet.ip.fw.enable: 1 net.inet.ip.maxfragpackets: 800 net.inet.ip.stealth: 0 net.inet.ip.maxfragsperpacket: 16 net.inet.ip.fragpackets: 0 net.inet.ip.check_interface: 0 net.inet.ip.random_id: 0 net.inet.ip.sendsourcequench: 0 net.inet.ip.process_options: 1 net.inet.ipf.fr_minttl: 4 net.inet.ipf.fr_chksrc: 0 net.inet.ipf.fr_defaultauthage: 600 net.inet.ipf.fr_authused: 0 net.inet.ipf.fr_authsize: 32 net.inet.ipf.ipf_hostmap_sz: 2047 net.inet.ipf.ipf_rdrrules_sz: 127 net.inet.ipf.ipf_natrules_sz: 127 net.inet.ipf.ipf_nattable_sz: 2047 net.inet.ipf.fr_statemax: 4013 net.inet.ipf.fr_statesize: 5737 net.inet.ipf.fr_running: 1 net.inet.ipf.fr_ipfrttl: 120 net.inet.ipf.fr_defnatage: 1200 net.inet.ipf.fr_icmptimeout: 120 net.inet.ipf.fr_udpacktimeout: 24 net.inet.ipf.fr_udptimeout: 240 net.inet.ipf.fr_tcpclosed: 60 net.inet.ipf.fr_tcptimeout: 480 net.inet.ipf.fr_tcplastack: 60 net.inet.ipf.fr_tcpclosewait: 480 net.inet.ipf.fr_tcphalfclosed: 14400 net.inet.ipf.fr_tcpidletimeout: 864000 net.inet.ipf.fr_active: 0 net.inet.ipf.fr_pass: 134217730 net.inet.ipf.fr_flags: 0 Применив sysctl -w dev.em.1.debug=1 sysclt -w dev.em.1.stats=1 показало: sysctl -a |egrep '^em1' em1: Adapter hardware address = 0xc5df7218 em1: CTRL = 0x581c4241 RCTL = 0x801a em1: Packet buffer = Tx=16k Rx=32k em1: Flow control watermarks high = 30720 low = 29220 em1: tx_int_delay = 732, tx_abs_int_delay = 1465 em1: rx_int_delay = 732, rx_abs_int_delay = 1465 em1: fifo workaround = 0, fifo_reset_count = 0 em1: hw tdh = 97, hw tdt = 97 em1: hw rdh = 84, hw rdt = 73 em1: Num Tx descriptors avail = 225 em1: Tx Descriptors not avail1 = 64 em1: Tx Descriptors not avail2 = 0 em1: Std mbuf failed = 0 em1: Std mbuf cluster failed = 0 em1: Driver dropped packets = 0 em1: Driver tx dma failure in encap = 0 em1: Excessive collisions = 0 em1: Sequence errors = 0 em1: Defer count = 48 em1: Missed Packets = 312 em1: Receive No Buffers = 2064 em1: Receive Length Errors = 0 em1: Receive errors = 0 em1: Crc errors = 0 em1: Alignment errors = 0 em1: Collision/Carrier extension errors = 0 em1: RX overruns = 6 em1: watchdog timeouts = 0 em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em1: XON Rcvd = 17070 em1: XON Xmtd = 11 em1: XOFF Rcvd = 17070 em1: XOFF Xmtd = 11 em1: Good Packets Rcvd = 9790600165 em1: Good Packets Xmtd = 11100598677 em1: TSO Contexts Xmtd = 621708 em1: TSO Contexts Failed = 0 em1: Excessive collisions = 0 em1: Sequence errors = 0 em1: Defer count = 48 em1: Missed Packets = 312 em1: Receive No Buffers = 2064 em1: Receive Length Errors = 0 em1: Receive errors = 0 em1: Crc errors = 0 em1: Alignment errors = 0 em1: Collision/Carrier extension errors = 0 em1: RX overruns = 6 em1: watchdog timeouts = 0 em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK MSIX IRQ = 0 em1: XON Rcvd = 17070 em1: XON Xmtd = 11 em1: XOFF Rcvd = 17070 em1: XOFF Xmtd = 11 em1: Good Packets Rcvd = 9790631487 em1: Good Packets Xmtd = 11100633350 em1: TSO Contexts Xmtd = 621708 em1: TSO Contexts Failed = 0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 17 ноября, 2009 · Жалоба я ставил стабле июньскую, остальное так http://forum.nag.ru/forum/index.php?showto...st&p=447098 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 17 ноября, 2009 · Жалоба Кого июньскую? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IvanI Опубликовано 18 ноября, 2009 · Жалоба ftp://ftp2.ru.freebsd.org/pub/FreeBSD/sna...-amd64-dvd1.iso Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 18 ноября, 2009 (изменено) · Жалоба По sysctl net.inet.ip всё выглядит вполне неплохо, ИМХО. Только я бы всё же обязательно включил net.inet.ip.fastforwarding, это обязательная переменная для роутеров. Для понимания, что она делает, кусок man 4 inet IPCTL_FASTFORWARDING (ip.fastforwarding) Boolean: enable/disable the use of fast IP forwarding code. Defaults to off. When fast IP forwarding is enabled, IP packets are for- warded directly to the appropriate network inter- face with direct processing to completion, which greatly improves the throughput. All packets for local IP addresses, non-unicast, or with IP options are handled by the normal IP input processing path. All features of the normal (slow) IP forwarding path are supported including firewall (through pfil(9) hooks) checking, except ipsec(4) tunnel brokering. The IP fastforwarding path does not generate ICMP redirect or source quench messages. И выключить ip.redirect:IPCTL_SENDREDIRECTS (ip.redirect) Boolean: enable/disable sending of ICMP redirects in response to IP packets for which a better, and for the sender directly reachable, route and next hop is known. Defaults to on. Результаты её работы можно проконтролировать по выводу команды netstat -s|grep fast. Скажем, у меня она сейчас выглядит так: 3640438665 packets forwarded (3640435070 packets fast forwarded) А больше даже и не знаю, что предложить...может, jab или ещё кто что предложат. Поставить yandex-драйвера? Кстати, обьём буфера на RX в вашей сетевухе в два раза больше обьёма буфера на TX, так что можно соответствующим образом изменить переменные _delay. А что значит "nat не используется, используется tee"? И в скобках замечу, что у вас весьма большое количество попадает в io_fast, у меня такого, к сожалению, почему-то не получается: net.inet.ip.dummynet.io_pkt_fast: 0 net.inet.ip.dummynet.io_pkt: 2229417975 net.inet.ip.dummynet.io_fast: 1 Не покажете конфиг dummynet и ipfw правила для него? migosm, спасибо за обьяснение! Изменено 18 ноября, 2009 пользователем Dyr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littlesavage Опубликовано 18 ноября, 2009 · Жалоба Добрый день!Как можно попробовать уменьшить нагрузку? nat не используется, используется tee Но если в правилах в самом начале ставится: allow ip from any to any Это не влияет на нагрузку. На tee трафика много заворачивается? И сколько правил в ipfw при нагрузке? net.inet.ip.fw.one_pass: 1 стоит еще, смотрю. Ну и на это стоит обратить внимание: net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 24988 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 18 ноября, 2009 (изменено) · Жалоба изменил: net.inet.ip.fastforwarding=1 net.inet.ip.redirect=0 Ждем вечера, чтобы посмотреть, что получится. Так как сейчас картина выглядит след образом: CPU: 1.8% user, 0.0% nice, 20.5% system, 0.3% interrupt, 77.4% idle Mem: 1908M Active, 265M Inact, 239M Wired, 56M Cache, 112M Buf, 28M Free Swap: 20G Total, 115M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K CPU3 3 235.3H 84.38% idle: cpu3 13 root 1 171 ki31 0K 8K CPU1 1 213.7H 83.40% idle: cpu1 12 root 1 171 ki31 0K 8K RUN 2 214.1H 80.08% idle: cpu2 14 root 1 171 ki31 0K 8K CPU0 0 220.8H 74.85% idle: cpu0 61725 root 1 53 0 28312K 3848K select 1 99.7H 15.09% ndsad 29 root 1 -68 - 0K 8K - 1 135.0H 11.28% em0 taskq 4 root 1 -68 - 0K 8K sleep 3 64.7H 8.79% ng_queue2 2 root 1 -68 - 0K 8K sleep 0 64.7H 8.40% ng_queue0 5 root 1 -68 - 0K 8K sleep 1 64.0H 8.06% ng_queue3 3 root 1 -68 - 0K 8K sleep 1 64.3H 7.86% ng_queue1 41431 root 189 54 -10 204M 56608K select 2 0:00 7.57% utm5_core 30 root 1 -68 - 0K 8K - 2 75.5H 4.79% em1 taskq Я бы не сказал, что к вечеру гораздо больше объем трафика, всё укладывается в < 100Mbit/s -- Трафик весь клиентский заворачивается в tee, 00010 1168821979 549320178834 tee 21000 ip from 172.16.0.0/16 to any via ng* 00010 1340045013 1224404026197 tee 21000 ip from any to 172.16.0.0/16 via ng* для его подсчета. --- пайпов в конфиге: ${fwcmd} pipe 1 config bw 64Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 2 config bw 64Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 3 config bw 128Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 4 config bw 128Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 5 config bw 256Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 6 config bw 256Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 10 config bw 1700Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 11 config bw 1700Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 12 config bw 3072Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 13 config bw 3072Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 14 config bw 5120Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 15 config bw 5120Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 16 config bw 512Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 17 config bw 512Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 18 config bw 10240Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 19 config bw 10240Kbit/s mask dst-ip 0xffffffff ${fwcmd} pipe 21 config bw 15360Kbit/s mask src-ip 0xffffffff ${fwcmd} pipe 22 config bw 15360Kbit/s mask dst-ip 0xffffffff Кол-во правил минимальное: ipfw show | wc -l 63 Всё сделано на таблицах. А что можно сделать с net.inet.ip.fw.one_pass: 1 ? на 0 перевести? _delay вроде все поправил: dev.em.0.rx_int_delay: 750 dev.em.0.tx_int_delay: 750 dev.em.0.rx_abs_int_delay: 1500 dev.em.0.tx_abs_int_delay: 1500 dev.em.1.rx_int_delay: 750 dev.em.1.tx_int_delay: 750 dev.em.1.rx_abs_int_delay: 1500 dev.em.1.tx_abs_int_delay: 1500 Изменено 18 ноября, 2009 пользователем kirush Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
migosm Опубликовано 18 ноября, 2009 · Жалоба Я бы все таки посоветовал поставить дрова от яндекса, там внутряках все достаточно умно оптимизировали. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kirush Опубликовано 18 ноября, 2009 (изменено) · Жалоба настал вечер: CPU: 12.5% user, 0.0% nice, 65.8% system, 1.7% interrupt, 20.1% idle Mem: 1933M Active, 214M Inact, 243M Wired, 79M Cache, 112M Buf, 27M Free Swap: 20G Total, 115M Used, 20G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 29 root 1 -68 - 0K 8K - 1 137.8H 50.78% em0 taskq 47 root 1 -68 - 0K 8K CPU2 2 123.4H 32.96% dummynet 14 root 1 171 ki31 0K 8K RUN 0 224.9H 32.47% idle: cpu0 2 root 1 -68 - 0K 8K sleep 3 66.1H 24.76% ng_queue0 5 root 1 -68 - 0K 8K sleep 1 65.4H 24.46% ng_queue3 4 root 1 -68 - 0K 8K sleep 0 66.1H 24.27% ng_queue2 3 root 1 -68 - 0K 8K RUN 3 65.7H 23.97% ng_queue1 11 root 1 171 ki31 0K 8K RUN 3 239.6H 22.66% idle: cpu3 12 root 1 171 ki31 0K 8K RUN 2 218.0H 21.29% idle: cpu2 13 root 1 171 ki31 0K 8K RUN 1 217.5H 18.46% idle: cpu1 30 root 1 -68 - 0K 8K RUN 2 76.7H 17.87% em1 taskq em0 смотрит наружу, em1 внутрь сети. Изменено 18 ноября, 2009 пользователем kirush Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littlesavage Опубликовано 18 ноября, 2009 · Жалоба изменил: net.inet.ip.fastforwarding=1 net.inet.ip.redirect=0 Трафик весь клиентский заворачивается в tee, 00010 1168821979 549320178834 tee 21000 ip from 172.16.0.0/16 to any via ng* 00010 1340045013 1224404026197 tee 21000 ip from any to 172.16.0.0/16 via ng* для его подсчета. Вот здесь можно неплохо нагрузку снизить. Перевести на ng_netflow/ng_ipacct. Расставить направления (in via, out via). Считать на em0/em1 интерфейсах, а не ng*. Поставить счетчики после шейперов, а не до. Сколько, кстати, ng интерейсов в пиках? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...