Bercut Posted April 5, 2007 Posted April 5, 2007 Недавно поставили новый аршрутизатор на FreeBSD 6.2 amd64 (AMD Opteron) сетевой интерфейс em0 загружается только под полочку 250 мбит/с в обеих направлениях, больше не выдает... До этого стоял другой тазик на Xeon`e и все было ок. Интерфейсы встроеные на материнскую плату Tyan S3850G2NR Intel i82541PI. netstat -m 724/1196/1920 mbufs in use (current/cache/total) 712/706/1418/25600 mbuf clusters in use (current/cache/total/max) 712/696 mbuf+clusters out of packet secondary zone in use (current/cache) 0/0/0/0 4k (page size) jumbo clusters in use (current/cache/total/max) 0/0/0/0 9k jumbo clusters in use (current/cache/total/max) 0/0/0/0 16k jumbo clusters in use (current/cache/total/max) 1607K/1711K/3318K 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 top last pid: 4757; load averages: 0.78, 0.80, 0.69 up 0+00:41:48 16:56:25 47 processes: 1 running, 46 sleeping CPU states: 1.4% user, 0.0% nice, 1.4% system, 47.6% interrupt, 49.7% idle Mem: 345M Active, 13M Inact, 34M Wired, 224K Cache, 13M Buf, 517M Free Swap: 1024M Total, 1024M Free Пробывал включать POLLING, при этом максимальная скорость становилась 170 Мбит/с. Вставить ник Quote
Kirya Posted April 5, 2007 Posted April 5, 2007 В пропускную способность PCI похоже уперлись. Выдержка из manual-а: Integrating LAN Controllers -Two Intel i82541PI GbE Controllers -Operating on PCI 32-bit/33 Mhz bus Вставить ник Quote
Bercut Posted April 5, 2007 Author Posted April 5, 2007 PCI при 32-bit/33MHz вроди должна пропускать 132 Мбайта/сек, а тут только 30Мбайт/сек... Вставить ник Quote
Kirya Posted April 5, 2007 Posted April 5, 2007 (edited) PCI при 32-bit/33MHz вроди должна пропускать 132 Мбайта/сек, а тут только 30Мбайт/сек...У тебя сейчас если быть точным 31,25*2=62,5 мбайт/сек.(Трафик же идет in и out правильно ?) И это только сеть. А что еще на PCI висит и сколько ест-я не знаю, поэтому и писал "похоже". Edited April 5, 2007 by Kirya Вставить ник Quote
Bercut Posted April 5, 2007 Author Posted April 5, 2007 похоже на то, ровно 31,25 так и есть :) про что ж думали производители когда сажали два гига на PCI 32 остается только вешать внешнюю на шину PCI-X 133... Вставить ник Quote
Kirya Posted April 5, 2007 Posted April 5, 2007 Про что Вы думали, когда такую мать покупали ?... Вставить ник Quote
mr.Scamp Posted April 24, 2007 Posted April 24, 2007 (edited) У нас была подобная проблема. Материнка Intel SE7520BD2, встроенный гигабит не показывал более 300 мегабит/с, по top - interrupt 50%. netstat -w 1 -I em0 показывает input errors. Поставили двухпортовую Intel Pro/1000 MT на PCI-Express, ситуация не изменилась. На сервере стоит FreeBSD 6.2. Если отключить поллинг - скорость увеличивается, ошибки пропадают, но очень сильно вырастает нагрузка на машину. Edited April 24, 2007 by mr.Scamp Вставить ник Quote
GateKeeper Posted April 24, 2007 Posted April 24, 2007 PR искали, если не нашли - оформили; в freebsd-perfomance, freebsd-net, freebsd-hardware спрашивали? http://www.opennet.ru/docs/RUS/GigabitEthernet/ читали, помогло/не помогло? Вставить ник Quote
mr.Scamp Posted April 24, 2007 Posted April 24, 2007 (edited) Увы, не помогло. Информация по ссылке достаточно интересная, но она касатеся в основном Linux. Переменные sysctl правили, сейчас есть что-то вроде net.inet.ip.fastforwarding=1 kern.polling.idle_poll=1 kern.polling.user_frac=25 kern.polling.burst_max=1000 kern.timecounter.hardware=TSC Производительность всё равно слишком низка. Кроме чистого роутинга на машине крутятся еще несколько задач. если kern.polling.user_frac занизить и снять пайпы, очень сильно растет LA. Думаем пересобрать ядро с HZ=2000. Edited April 24, 2007 by mr.Scamp Вставить ник Quote
GateKeeper Posted April 25, 2007 Posted April 25, 2007 net.inet.ip.intr_queue_maxlen=5000 - это он тоже рекомендовал выставить для Gb-линков. Значение, как он выразился, выставлено в конкретно его условиях, однако, для начальной точки должно быть гораздо лучше, нежели размер очереди в дефолте - 50. В целом же - оформляйте PR, или обратитесь, для начала, в freebsd-perfomance. Можно даже так: оформить PR, после чего обратиться в список рассылки и указать в нём ссылку на оформленный PR. Вставить ник Quote
necrozz Posted April 25, 2007 Posted April 25, 2007 EM_FAST_INTR пробовали использовать вместо polling'a ? Вставить ник Quote
mr.Scamp Posted April 25, 2007 Posted April 25, 2007 Нет, не пробовал. Сильно ли это поднимет производительность? Вставить ник Quote
jab Posted April 25, 2007 Posted April 25, 2007 73664 0 106826989 51874 0 8523934 0 68767 0 99975307 47716 0 7405803 0 75256 0 110263998 52396 0 6885006 0 input (em0) output packets errs bytes packets errs bytes colls 77838 0 113085958 54244 0 8952030 0 73977 0 108336429 50556 0 6815156 0 75935 0 110084673 52184 0 8660394 0 77494 0 112451648 53490 0 8952866 0 74709 0 108849204 50720 0 7563287 0 65510 0 95429787 43705 0 6705384 0 72934 0 105728777 50787 0 8552943 0 Вставить ник Quote
Alteron Posted April 30, 2007 Posted April 30, 2007 Мать Intel SE7221BK1-E, на ней два встроенных интеловских гигабита. Стояла FreeBSD 5.4, сейчас 6.2. С 3ware-вского рейда скорость чтения -60-70Мб/с, скорость записи в этом же районе. Вставить ник Quote
mr.Scamp Posted May 4, 2007 Posted May 4, 2007 С помощью тюнинга sysctl в области kern.polling удалось поднять потолок до 600 Мбит/с, но подозреваю, что может быть и больше. Вставить ник Quote
Bercut Posted May 12, 2007 Author Posted May 12, 2007 С помощью тюнинга sysctl в области kern.polling удалось поднять потолок до 600 Мбит/с, но подозреваю, что может быть и больше. при каких именно значениях такое удалось? Вставить ник Quote
mr.Scamp Posted May 12, 2007 Posted May 12, 2007 С помощью тюнинга sysctl в области kern.polling удалось поднять потолок до 600 Мбит/с, но подозреваю, что может быть и больше.при каких именно значениях такое удалось? kern.polling.user_frac=25 kern.polling.burst_max=1000 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.