Dyr Опубликовано 13 января, 2012 (изменено) · Жалоба Мой выглядит так: #!/usr/bin/perl # # Create pipe per user with making queue to reduce dummynet delay use strict; use warnings; use FindBin; use lib "/root/lib"; use functions; my $config = getconfig(); my $dbh = dbconnect(); our $ipfw = $config->{IPFW} ||'/sbin/ipfw'; our $shape_ip_pcre = $config->{SHAPERS_IPADDRS_PCRE} || die "SHAPERS_IPADDRS_PCRE not defined!"; our $ipfw_baserulenum = $config->{SHAPERS_BASERULENUM} || '3000'; our $ipfw_table_in = $config->{SHAPERS_TABLE_IN} || '4'; our $ipfw_table_out = $config->{SHAPERS_TABLE_OUT} || '5'; our $rule_shift = $config->{SHAPERS_RULE_SHIFT} || '10000'; our $inet_iface = $config->{SHAPERS_IFACE} || $config->{INET_IFACE} || 'em0'; our $via_iface = ($inet_iface eq '-' ? '' : "via $inet_iface"); #our $dstip_pcre = $config->{DST_IP_BINAT_PCRE}; my ($sth, @row,%current,%shape_ip_in,%shape_ip_out,%gred_params); open F, "$ipfw pipe list |" or die "Cannon open pipe list: $!\n"; #Example at the end of file #Skip non-integer part of speed while(<F>) { if($_ =~ /\A0*(\d+):\s+(\d+\.\d{3})\s+([K|M])bit/o) { # Convert from Mbits/sec to Kbits/sec for futher comparing if ($3 eq "M") { $current{int($1)} = int($2 * 1000); }else { $current{int($1)} = int($2); } }elsif ($_ =~ /\A0*(\d+):\s+unlimited/o) { $current{$1} = 0; } } close F; $sth = dbquery($dbh, "SELECT a.uid,a.actual_speed_in,a.actual_speed_out, a.ip " ."FROM adaptive_shapers AS a " ."ORDER BY uid"); while (@row = $sth->fetchrow_array) { #print Dumper(@row); my ($uid, $actual_speed_in, $actual_speed_out, $ip) = (@row); my $rule_in=$uid; my $rule_out=$uid+$rule_shift; next if !$ip; $ip =~ s/.*($shape_ip_pcre).*/$1/g; next if (!$ip); next if (!$actual_speed_in); next if (!$actual_speed_out); my $speed_in = int($actual_speed_in*1.05); my $speed_out = int($actual_speed_out*1.05); if(!defined($current{$rule_in})) { print "$ipfw pipe $rule_in config bw ${speed_in}Kb/s mask dst-ip 0xFFFFFFFF type FIFO buckets 16 && \\\n"; print "$ipfw queue $rule_in config pipe $rule_in mask dst-ip 0xFFFFFFFF type FIFO buckets 16 && echo -n '+'\n"; } elsif($current{$rule_in} ne $speed_in) { print "$ipfw pipe $rule_in config bw ${speed_in}Kb/s mask dst-ip 0xFFFFFFFF type FIFO buckets 16 && echo -n '^'\n"; } delete($current{$rule_in}); if (!defined($current{$rule_out})) { print "$ipfw pipe $rule_out config bw ${speed_out}Kb/s mask src-ip 0xFFFFFFFF type FIFO buckets 16 && \\\n"; print "$ipfw queue $rule_out config pipe $rule_out mask src-ip 0xFFFFFFFF type FIFO buckets 16 && echo -n '+'\n"; }elsif ($current{$rule_out} ne $speed_out) { print "$ipfw pipe $rule_out config bw ${speed_in}Kb/s mask src-ip 0xFFFFFFFF type FIFO buckets 16 && echo -n '^'\n"; } delete($current{$rule_out}); $shape_ip_in{$ip} = $rule_in; $shape_ip_out{$ip} = $rule_out; } &ipfw_table_sync($ipfw_table_in,\%shape_ip_in); &ipfw_table_sync($ipfw_table_out,\%shape_ip_out); print "echo ''\n"; foreach (keys %current) { next if (!defined($current{$_})); print "$ipfw pipe $_ delete && echo -n '-'\n"; #print "$ipfw pipe $_ config bw 98Mb/s mask src-ip 0xFFFFFFFF && \\\n"; } print "echo ''\n"; __END__ # ipfw pipe list 02244: 4.505 Mbit/s 0 ms burst 0 q67780 50 sl. 0 flows (1 buckets) sched 2244 weight 0 lmax 0 pri 0 droptail sched 67780 type FIFO flags 0x1 16 buckets 0 active mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 12242: 9.011 Mbit/s 0 ms burst 0 q77778 50 sl. 0 flows (1 buckets) sched 12242 weight 0 lmax 0 pri 0 droptail sched 77778 type FIFO flags 0x1 16 buckets 1 active mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp Изменено 13 января, 2012 пользователем Dyr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 13 января, 2012 · Жалоба А сколько клиентов и какой трафик? (pps в том числе?) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 13 января, 2012 · Жалоба 3000 клиентов, трафик 600 Мбит/сек, 80 kpps в ЧНН. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 13 января, 2012 · Жалоба Негусто. У меня 1500 150 kpps на 1G в каждую сторону. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 13 января, 2012 · Жалоба Это что-то должно менять в конфиге dummynet, думаете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
savago Опубликовано 13 января, 2012 (изменено) · Жалоба Дай увидем : netstat -s output | grep drop netstat -s|fgrep fragment vmstat -z|egrep 'ITEM|mbuf' systat -vmstat 1 netstat -m netstat -id ipfw pipe show Изменено 13 января, 2012 пользователем savago Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 13 января, 2012 · Жалоба gw01# netstat -s output | grep drop 16893843 connections closed (including 1119555 drops) 350 embryonic connections dropped 32044 connections dropped by rexmit timeout 0 connections dropped by persist timeout 0 Connections (fin_wait_2) dropped because of timeout 11 connections dropped by keepalive 915 dropped 962135 dropped due to no socket 51 dropped due to full socket buffers 243032 fragments dropped (dup or out of space) 692596 fragments dropped after timeout 126820 output packets dropped due to no bufs, etc. 0 group-source queries dropped 4668189 total packets dropped due to no ARP entry 0 fragments dropped (dup or out of space) 0 fragments dropped after timeout 0 output packets dropped due to no bufs, etc. 0 messages dropped due to no socket 0 multicast messages dropped due to no socket 0 messages dropped due to full socket buffers gw01# netstat -s|fgrep fragment 4675670520 fragments received 243039 fragments dropped (dup or out of space) 692608 fragments dropped after timeout 17291995488 output datagrams fragmented 34584668896 fragments created 9197968 datagrams that can't be fragmented 0 fragments received 0 fragments dropped (dup or out of space) 0 fragments dropped after timeout 0 fragments that exceeded limit 0 output datagrams fragmented 0 fragments created 0 datagrams that can't be fragmented gw01# vmstat -z|egrep 'ITEM|mbuf' ITEM SIZE LIMIT USED FREE REQUESTS FAILURES mbuf_packet: 256, 0, 18044, 7556, 506988166993, 0 mbuf: 256, 0, 15, 8315, 803415719978, 0 mbuf_cluster: 2048, 500000, 25600, 6, 25600, 0 mbuf_jumbo_page: 4096, 12800, 0, 873, 428447, 0 mbuf_jumbo_9k: 9216, 6400, 0, 0, 0, 0 mbuf_jumbo_16k: 16384, 3200, 0, 0, 0, 0 mbuf_ext_refcnt: 4, 0, 0, 0, 0, 0 1 users Load 3.18 3.30 3.42 Jan 13 20:47 Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER Tot Share Tot Share Free in out in out Act 432488 8892 829480 8624 7029188 count All 582444 8892 1074685k 8624 pages Proc: Interrupts r p d s w Csw Trp Sys Int Sof Flt 306 cow 158k total 34 715k 4189 34k 134k 1055 1623 827 zfod atapci0 18 ozfod uhci0 uhci 18.5%Sys 14.9%Intr 0.9%User 0.0%Nice 65.7%Idle %ozfod 2000 cpu0: time | | | | | | | | | | | daefr 11671 ix0:que 0 =========++++++++ 488 prcfr 15954 ix0:que 1 20 dtbuf 1949 totfr 18127 ix0:que 2 Namei Name-cache Dir-cache 222953 desvn react 16826 ix0:que 3 Calls hits % hits % 162508 numvn pdwak 16852 ix0:que 4 174 174 100 55736 frevn pdpgs 17215 ix0:que 5 intrn 18606 ix0:que 6 Disks ad4 1259308 wire 19428 ix0:que 7 KB/t 0.00 339544 act ix0:link 2 tps 0 3454484 inact 2000 cpu2: time MB/s 0.00 24 cache 2000 cpu7: time %busy 0 7029152 free 2000 cpu4: time 1260528 buf 2000 cpu11: tim 2000 cpu5: time 2000 cpu10: tim 2000 cpu1: time 2000 cpu3: time 2000 cpu8: time 2000 cpu6: time 2000 cpu9: time gw01# netstat -m 18193/15737/33930 mbufs in use (current/cache/total) 18178/7428/25606/500000 mbuf clusters in use (current/cache/total/max) 18178/7422 mbuf+clusters out of packet secondary zone in use (current/cache) 0/873/873/12800 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/6400 9k jumbo clusters in use (current/cache/total/max) 0/0/0/3200 16k jumbo clusters in use (current/cache/total/max) 41350K/22282K/63632K bytes allocated to network (current/cache/total) 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters) 0/0/0 requests for jumbo clusters denied (4k/9k/16k) 0/0/0 sfbufs in use (current/peak/max) 0 requests for sfbufs denied 0 requests for sfbufs delayed 0 requests for I/O initiated by sendfile 0 calls to protocol drain routines netstat -id Слишком много интерфейсов, выкладывать много будет. 00113: 6.000 Mbit/s 0 ms burst 0 q131185 50 sl. 0 flows (1 buckets) sched 65649 weight 0 lmax 0 pri 0 droptail sched 65649 type FIFO flags 0x1 65535 buckets 134 active mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 1 ip 0.0.0.0/0 178.217.101.179/0 28250 25691649 0 0 112 13 ip 0.0.0.0/0 178.217.101.191/0 19 1557 0 0 0 23 ip 0.0.0.0/0 178.217.101.165/0 21927 29829903 0 0 0 27 ip 0.0.0.0/0 178.217.101.169/0 4215 797110 0 0 0 33 ip 0.0.0.0/0 178.217.101.147/0 219276 146317243 0 0 0 36 ip 0.0.0.0/0 178.217.101.150/0 161 11627 0 0 0 79 ip 0.0.0.0/0 178.217.101.253/0 38545 55467869 0 0 0 112 ip 0.0.0.0/0 178.217.101.194/0 6 350 0 0 0 120 ip 0.0.0.0/0 178.217.101.202/0 75645 35887944 0 0 268 169 ip 0.0.0.0/0 178.217.101.27/0 6446 6622409 0 0 62 186 ip 0.0.0.0/0 178.217.101.8/0 121188 158857551 0 0 69 189 ip 0.0.0.0/0 178.217.101.15/0 9535 4532190 0 0 0 240 ip 0.0.0.0/0 178.217.101.66/0 146153 88518867 0 0 0 248 ip 0.0.0.0/0 178.217.101.74/0 889 305167 0 0 0 17 ip 0.0.0.0/0 178.217.100.163/0 40400 21896759 0 0 27 28 ip 0.0.0.0/0 178.217.100.174/0 25137 34816232 0 0 0 33 ip 0.0.0.0/0 178.217.100.147/0 4934 3610989 0 0 0 78 ip 0.0.0.0/0 178.217.100.252/0 145337 11018789 0 0 0 95 ip 0.0.0.0/0 178.217.100.237/0 6885095 6766444324 35 36206 833398 106 ip 0.0.0.0/0 178.217.100.216/0 675 309265 0 0 0 111 ip 0.0.0.0/0 178.217.100.221/0 163113 198881851 0 0 19 117 ip 0.0.0.0/0 178.217.100.199/0 12868 8805206 0 0 9 136 ip 0.0.0.0/0 178.217.100.58/0 60226 68646334 0 0 583 156 ip 0.0.0.0/0 178.217.100.46/0 24499 1936129 0 0 0 164 ip 0.0.0.0/0 178.217.100.22/0 36463 44458365 0 0 92 178 ip 0.0.0.0/0 178.217.100.0/0 58 7449 0 0 0 184 ip 0.0.0.0/0 178.217.100.10/0 23778 28553672 0 0 34 203 ip 0.0.0.0/0 178.217.100.121/0 2375 1767751 0 0 0 211 ip 0.0.0.0/0 178.217.100.97/0 1543 773667 0 0 0 245 ip 0.0.0.0/0 178.217.100.71/0 6201979 6554465846 23 20348 243072 57 ip 0.0.0.0/0 178.217.103.139/0 63042 86048657 0 0 0 103 ip 0.0.0.0/0 178.217.103.213/0 44582 53987866 0 0 496 146 ip 0.0.0.0/0 178.217.103.32/0 7691 3885127 0 0 0 158 ip 0.0.0.0/0 178.217.103.44/0 134409 185712975 0 0 0 167 ip 0.0.0.0/0 178.217.103.21/0 105 44496 0 0 0 173 ip 0.0.0.0/0 178.217.103.31/0 321836 20838518 0 0 60 183 ip 0.0.0.0/0 178.217.103.5/0 578234 267694499 0 0 330 197 ip 0.0.0.0/0 178.217.103.119/0 1886 509489 0 0 0 7 ip 0.0.0.0/0 178.217.102.181/0 18205 14526825 0 0 156 20 ip 0.0.0.0/0 178.217.102.166/0 3894 1602349 0 0 4 26 ip 0.0.0.0/0 178.217.102.168/0 38799 44700032 0 0 163 51 ip 0.0.0.0/0 178.217.102.129/0 21089 8607790 0 0 0 106 ip 0.0.0.0/0 178.217.102.216/0 679905 804665995 0 0 47251 116 ip 0.0.0.0/0 178.217.102.198/0 258492 39727637 0 0 32 117 ip 0.0.0.0/0 178.217.102.199/0 49725 27513117 0 0 637 135 ip 0.0.0.0/0 178.217.102.53/0 2523 1800846 0 0 0 151 ip 0.0.0.0/0 178.217.102.37/0 52566 4825994 0 0 0 155 ip 0.0.0.0/0 178.217.102.41/0 283011 48787820 0 0 113 166 ip 0.0.0.0/0 178.217.102.20/0 42569 3991494 0 0 0 173 ip 0.0.0.0/0 178.217.102.31/0 473 56994 0 0 0 218 ip 0.0.0.0/0 178.217.102.104/0 19921 27002354 0 0 117 228 ip 0.0.0.0/0 178.217.102.86/0 9806 11604786 0 0 21 235 ip 0.0.0.0/0 178.217.102.89/0 878 729198 0 0 0 6 ip 0.0.0.0/0 178.217.97.180/0 7 380 0 0 0 75 ip 0.0.0.0/0 178.217.97.249/0 11253 13611100 0 0 62 92 ip 0.0.0.0/0 178.217.97.238/0 79094 71650583 0 0 181 96 ip 0.0.0.0/0 178.217.97.210/0 164272 73189254 0 0 449 119 ip 0.0.0.0/0 178.217.97.197/0 36564 45463824 0 0 331 121 ip 0.0.0.0/0 178.217.97.203/0 2405 610220 0 0 0 150 ip 0.0.0.0/0 178.217.97.36/0 5116 5122789 0 0 81 172 ip 0.0.0.0/0 178.217.97.30/0 34259 38317266 0 0 534 201 ip 0.0.0.0/0 178.217.97.123/0 949 432930 0 0 0 216 ip 0.0.0.0/0 178.217.97.106/0 89467 7514866 0 0 0 229 ip 0.0.0.0/0 178.217.97.87/0 12075 13154776 0 0 1087 3 ip 0.0.0.0/0 178.217.99.177/0 72390 23321545 0 0 290 5 ip 0.0.0.0/0 178.217.99.183/0 478 330289 0 0 0 6 ip 0.0.0.0/0 178.217.99.180/0 123537 144737798 0 0 0 33 ip 0.0.0.0/0 178.217.99.147/0 34833 9967537 0 0 0 120 ip 0.0.0.0/0 178.217.99.202/0 5 302 0 0 0 141 ip 0.0.0.0/0 178.217.99.63/0 124115 158615065 0 0 933 186 ip 0.0.0.0/0 178.217.99.8/0 40568 41501523 0 0 0 189 ip 0.0.0.0/0 178.217.99.15/0 114218 155661389 0 0 267 209 ip 0.0.0.0/0 178.217.99.99/0 237 38912 0 0 0 230 ip 0.0.0.0/0 178.217.99.84/0 32918 40520446 0 0 195 237 ip 0.0.0.0/0 178.217.99.95/0 29082 10496198 0 0 0 20 ip 0.0.0.0/0 178.217.98.166/0 16744 11399640 0 0 5 22 ip 0.0.0.0/0 178.217.98.164/0 286 30352 0 0 0 24 ip 0.0.0.0/0 178.217.98.170/0 2892 1571654 0 0 0 51 ip 0.0.0.0/0 178.217.98.129/0 15134 16735024 0 0 0 52 ip 0.0.0.0/0 178.217.98.134/0 3063 161749 0 0 0 73 ip 0.0.0.0/0 178.217.98.251/0 6 350 0 0 0 89 ip 0.0.0.0/0 178.217.98.235/0 14565 11444098 0 0 11 99 ip 0.0.0.0/0 178.217.98.209/0 8683 8382057 0 0 154 104 ip 0.0.0.0/0 178.217.98.218/0 19 2396 0 0 0 115 ip 0.0.0.0/0 178.217.98.193/0 9157 854035 0 0 0 135 ip 0.0.0.0/0 178.217.98.53/0 434 199724 0 0 0 138 ip 0.0.0.0/0 178.217.98.56/0 38220 44428966 0 0 618 146 ip 0.0.0.0/0 178.217.98.32/0 449 54603 0 0 0 168 ip 0.0.0.0/0 178.217.98.26/0 1376 1345910 0 0 0 208 ip 0.0.0.0/0 178.217.98.98/0 774 259114 0 0 0 226 ip 0.0.0.0/0 178.217.98.80/0 59974 49390100 0 0 72 252 ip 0.0.0.0/0 178.217.98.78/0 19129 18113969 0 0 0 1 ip 0.0.0.0/0 46.149.65.43/0 1511832 1924550478 0 0 195413 18 ip 0.0.0.0/0 46.149.65.56/0 118047 15273188 0 0 0 22 ip 0.0.0.0/0 46.149.65.60/0 1410 816812 0 0 0 51 ip 0.0.0.0/0 46.149.65.25/0 54176 3385458 0 0 0 59 ip 0.0.0.0/0 46.149.65.17/0 3522 2635838 0 0 0 65 ip 0.0.0.0/0 46.149.65.107/0 433 23538 0 0 0 76 ip 0.0.0.0/0 46.149.65.102/0 7974 1792815 0 0 0 77 ip 0.0.0.0/0 46.149.65.103/0 11007 822167 0 0 0 84 ip 0.0.0.0/0 46.149.65.126/0 38755 51908398 0 0 82 92 ip 0.0.0.0/0 46.149.65.118/0 1860 105617 0 0 0 96 ip 0.0.0.0/0 46.149.65.74/0 472632 419289393 47 60496 8689 106 ip 0.0.0.0/0 46.149.65.64/0 66 4127 0 0 0 120 ip 0.0.0.0/0 46.149.65.82/0 78825 18809290 0 0 121 123 ip 0.0.0.0/0 46.149.65.81/0 11156 2716198 0 0 0 159 ip 0.0.0.0/0 46.149.65.181/0 11702 13982429 0 0 36 164 ip 0.0.0.0/0 46.149.65.142/0 32499 43739635 0 0 0 192 ip 0.0.0.0/0 46.149.65.234/0 11056 7156268 0 0 0 204 ip 0.0.0.0/0 46.149.65.230/0 7 384 0 0 0 210 ip 0.0.0.0/0 46.149.65.248/0 1 60 0 0 0 224 ip 0.0.0.0/0 46.149.65.202/0 11151 10815049 0 0 76 246 ip 0.0.0.0/0 46.149.65.220/0 620 164053 0 0 0 13 ip 0.0.0.0/0 46.149.64.39/0 149041 9076311 0 0 0 32 ip 0.0.0.0/0 46.149.64.10/0 4 246 0 0 0 84 ip 0.0.0.0/0 46.149.64.126/0 118761 7442138 0 0 0 86 ip 0.0.0.0/0 46.149.64.124/0 10 4902 0 0 0 111 ip 0.0.0.0/0 46.149.64.69/0 5996 731155 0 0 0 122 ip 0.0.0.0/0 46.149.64.80/0 1 60 0 0 0 133 ip 0.0.0.0/0 46.149.64.175/0 258 26308 0 0 0 165 ip 0.0.0.0/0 46.149.64.143/0 101883 83884641 0 0 134 185 ip 0.0.0.0/0 46.149.64.147/0 127 7124 0 0 0 209 ip 0.0.0.0/0 46.149.64.251/0 43757 55758735 0 0 0 215 ip 0.0.0.0/0 46.149.64.253/0 13 1284 0 0 0 228 ip 0.0.0.0/0 46.149.64.206/0 27675 10896622 0 0 0 254 ip 0.0.0.0/0 46.149.64.212/0 154319 31527799 0 0 84 12 ip 0.0.0.0/0 46.149.66.38/0 502 33522 0 0 0 25 ip 0.0.0.0/0 46.149.66.51/0 80818 5902534 0 0 0 27 ip 0.0.0.0/0 46.149.66.49/0 3190 3044291 0 0 0 39 ip 0.0.0.0/0 46.149.66.13/0 178 18006 0 0 0 55 ip 0.0.0.0/0 46.149.66.29/0 482 59607 0 0 0 60 ip 0.0.0.0/0 46.149.66.22/0 139 8159 0 0 0 61 ip 0.0.0.0/0 46.149.66.23/0 11671 959730 0 0 0 84 ip 0.0.0.0/0 46.149.66.126/0 755708 878850203 21 24510 38544 00112: 4.000 Mbit/s 0 ms burst 0 q131184 50 sl. 0 flows (1 buckets) sched 65648 weight 0 lmax 0 pri 0 droptail sched 65648 type FIFO flags 0x1 65535 buckets 200 active mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 10 ip 0.0.0.0/0 178.217.101.184/0 10575 1504645 0 0 0 16 ip 0.0.0.0/0 178.217.101.162/0 45213 4644776 0 0 0 50 ip 0.0.0.0/0 178.217.101.128/0 144035 17367174 0 0 1 113 ip 0.0.0.0/0 178.217.101.195/0 134768 187040960 8 11200 322 119 ip 0.0.0.0/0 178.217.101.197/0 11584 4808524 0 0 63 Тоже очень большой, часть вывода... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
savago Опубликовано 13 января, 2012 · Жалоба Дай так: vmstat -z | grep -v 0\$ netstat -id|grep ^igb netstat -id|grep ^ix sysctl -a net.inet.ip Попробайе увеличите как подсказали kern.hz=4000 или 8000 В час пик попрабали из клиент сторона ест дроп/лаг и кокие скорости держит тарифе ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dimonix Опубликовано 13 января, 2012 · Жалоба я воспользовался рекомендациями в этой серии блогов - dummynet вылечил. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 13 января, 2012 (изменено) · Жалоба У ТС явно не хватает "1" в one_pass. Изменено 13 января, 2012 пользователем Deac Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 13 января, 2012 · Жалоба gw01# vmstat -z | grep -v 0\$ ITEM SIZE LIMIT USED FREE REQUESTS FAILURES 32 Bucket: 280, 0, 332, 4, 332, 7 64 Bucket: 536, 0, 694, 6, 694, 242 128 Bucket: 1048, 0, 2138, 1, 2138, 1786 gw01# netstat -id|grep ^ix ix0 1500 <Link#3> 00:1b:21:b5:d9:15 508957431773 305 0 518824609135 0 0 0 ix0 1500 10.11.0.0 gw01.art-telecom. 176955742313 - - 118342755349 - - - ix1* 1500 <Link#4> 00:1b:21:b5:d9:14 0 0 0 0 0 0 0 gw01# sysctl -a 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: 10000 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: 256 net.inet.ip.intr_queue_drops: 0 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.random_id_total: 0 net.inet.ip.random_id_collisions: 0 net.inet.ip.random_id_period: 8192 net.inet.ip.mcast.loop: 1 net.inet.ip.mcast.maxsocksrc: 128 net.inet.ip.mcast.maxgrpsrc: 512 net.inet.ip.dummynet.io_pkt_drop: 7497118355 net.inet.ip.dummynet.io_pkt_fast: 324948080020 net.inet.ip.dummynet.io_pkt: 482988865798 net.inet.ip.dummynet.queue_count: 0 net.inet.ip.dummynet.fsk_count: 40 net.inet.ip.dummynet.si_count: 2757 net.inet.ip.dummynet.schk_count: 80 net.inet.ip.dummynet.tick_lost: 0 net.inet.ip.dummynet.tick_diff: 104901 net.inet.ip.dummynet.tick_adjustment: 155498 net.inet.ip.dummynet.tick_delta_sum: 569 net.inet.ip.dummynet.tick_delta: 0 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.expire_cycle: 0 net.inet.ip.dummynet.expire: 1 net.inet.ip.dummynet.debug: 0 net.inet.ip.dummynet.io_fast: 1 net.inet.ip.dummynet.pipe_byte_limit: 1048576 net.inet.ip.dummynet.pipe_slot_limit: 100 net.inet.ip.dummynet.hash_size: 65535 net.inet.ip.fastforwarding: 1 net.inet.ip.fw.static_count: 8 net.inet.ip.fw.default_to_accept: 0 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.autoinc_step: 100 net.inet.ip.fw.one_pass: 1 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.dyn_max: 4096 net.inet.ip.fw.dyn_count: 0 net.inet.ip.fw.curr_dyn_buckets: 256 net.inet.ip.fw.dyn_buckets: 1024 net.inet.ip.fw.enable: 1 net.inet.ip.maxfragpackets: 15625 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 igb не используется физически. HZ крутить можно, но я хочу вначале точно узнать как он влияет. Гугл чего-то точного ничего не сказал... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 13 января, 2012 (изменено) · Жалоба Просмотрел, извиняюсь. :( HZ крутить можно, но я хочу вначале точно узнать как он влияет. Гугл чего-то точного ничего не сказал... Прежде всего влияет на точность нарезки, на производительность влияет ск. отрицательно. Был глюк, когда Луиджи начудил и при HZ=1000 больше 10Mbps не шэйпилось, сейчас поправили. Изменено 13 января, 2012 пользователем Deac Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 14 января, 2012 · Жалоба Чем значение HZ больше, тем меньше нагружена система, но менее точно идет нарезка каналов? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
photon Опубликовано 14 января, 2012 · Жалоба Чем значение HZ больше, тем меньше нагружена система, но менее точно идет нарезка каналов? Наоборот, чем больше HZ, тем меньше интервалы времени, через которые ядро выполняет те или иные операции, и тем более точно нарезаются каналы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 14 января, 2012 · Жалоба Тогда какой смысл увеличивать в моем случае? Я же только нагрузку на сервер тогда увеличу? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
savago Опубликовано 14 января, 2012 (изменено) · Жалоба Тогда какой смысл увеличивать в моем случае? Я же только нагрузку на сервер тогда увеличу? http://www.freebsd.org/cgi/man.cgi?query=dummynet&apropos=0&sektion=4&manpath=FreeBSD+8.2-RELEASE&arch=default&format=html options HZ=1000 # strongly recommended ( разбираем не менше ) Additionally, one may want to increase the number of mbuf clusters (used to store network packets) according to the sum of the bandwidth-delay products and queue sizes of all configured pipes. http://info.iet.unipi.it/~luigi/ip_dummynet/original.html "Also note that all delays are approximated with a granularity of 1/HZ seconds (HZ is typically 100, but we suggest using HZ=1000 and maybe even larger values)." > > As a rule of thumb, to make sure that drops are not caused > by short queues, you should set the queue size to 1/HZ seconds > worth of data -- at HZ=1000 and 1Gbit/s this means 128Kbytes. > Note that after the dummynet queue, there might be some other > queue that saturates. As an example, when using the box as a router, > packets go in bursts to the output interface, and the burst can > be as large as 1500 packets per tick on a fully saturated Gig-E > (the interface's queue ranges normally between 128 and 1024 slots). > The only fix for this is probably using higher values of HZ. > > chers > luigi У вас intel moderate карточки,нагрузка на сервера перейти на карточки как interrupts :) Увеличите kern.ipc.nmbclusters=524288,у вас ест некоторые буфера переполен. Даите увидем vmstat -z | egrep -i 'item|netg' Сколка рам на ето сервера ? Изменено 14 января, 2012 пользователем savago Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 15 января, 2012 · Жалоба gw01# vmstat -z | egrep -i 'item|netg' ITEM SIZE LIMIT USED FREE REQUESTS FAILURES NetGraph items: 72, 65540, 87, 1624, 229542620797, 0 NetGraph data items: 72, 32770, 0, 5220, 540744148277, 0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 15 января, 2012 · Жалоба 3 дня назад поменял in на out в правилах ipfw. Пока что вроде лучше стало. Ждемс и смотрим... kern.ipc.nmbclusters у меня и так 500000. Смысл его менять на 524288 есть? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 15 января, 2012 · Жалоба gred не ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 15 января, 2012 · Жалоба Пока не пробовал. Просто скорость задаю, выше примеры давал. После outов стало гораздо лучше. Сейчас посматриваю, но похоже уже потолок каналов стал мешать... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 15 января, 2012 · Жалоба просто гред позволяет намекнуть абоненту, что нехрен так гнать трафик. Скорость получается менее пилообразная. Дропы настпуают не резко при переполнении трубы (все что не влезло, все друпнулось) а чуть раньше, но по 1. В результате и меньше длина очереди занятая, меньше нагрузка на шейпер, и у абонента график ровнее. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 15 января, 2012 · Жалоба Надо будет попробовать, но сейчас сам работаю через радио, скорость нестабильная меньше 2 мбит. Проверить сам не могу. Как канал к моему рабочему месту нормализуется, смогу параметры подобрать. М.б. есть уже готовые парамерты под скорости моих тарифов? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 15 января, 2012 · Жалоба Я бы начал с ipfw pipe xxx config ... queue 99 gred 0.002/24/49/0.1 в районе мегабита и начал двигать синхронно 99, 49 и 25 для медленных вниз и для для быстрее нескольких мегабит тоже вниз.. Почему то реакция на разных машинах и каналах бывает не совсем одинаковая потому точные цифры не посоветую. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 16 января, 2012 · Жалоба Заодно проверьте, что Вам не повезло встретить http://www.freebsd.org/cgi/query-pr.cgi?pr=144269 http://forum.nag.ru/forum/index.php?showtopic=60205&st=0&p=537112 на 8. т.е. что трафик попадает не в те трубы, куда записано в таблицах. Не факт, что на 8 проблемы нету. Может просто реже, чем на 7 вылезает. На 7 тоже не у всех бывало. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 16 января, 2012 (изменено) · Жалоба Пока не пробовал. Просто скорость задаю, выше примеры давал. После outов стало гораздо лучше. Сейчас посматриваю, но похоже уже потолок каналов стал мешать... То есть я-таки был прав? ;) st_re, я сколько не проверял, на моём конфиге с простейшей FIFO-очередью график загрузки получается очень ровным, и, главное, ретрансмиттов с передающей стороны практически нет. Это по поводу gred'ов. Изменено 16 января, 2012 пользователем Dyr Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...