AlterDen Опубликовано 28 апреля, 2008 · Жалоба Есть городская сетка. выход в инет через linux pptpd(ни шифрования, ни сжатия). Стоит сервер HP 4 ядра 3,2 Xeon 533. Сетевушки Intel PRO 1000 PCIX64 NAPI На нем крутится только pptpd сессии и шейпинг входячки(tc qdisc). Нат, локальный роутинг, биллинг, все висит на других серваках и маршрутизаторах. Когда на нем одновременно поднято 1000-1100 коннектов, инет летает(~120-140MBit/s 10Килопакетов/с). Как только переваливает за ~1300-1400, резко качество услуги падает. Скорость либо никакая, либо наоборот шейпер пропускает много, пинги растут до бесконечности. В топе si 95-99% на том ядре, на котором сетевуха прерываниями висит(10-1000 int в сек). Попробовали заменить новым серваком HP 8 ядер по 2.0Ггц Xeon. 1333 шина. intel pro 1000. Но он еще хуже оказался. при 800 коннектах ему уже плохо становится. Одно ядро перегружено, остальные почти бездельничают(SMP вкл.). Пробовал вообще убрать правила iptables(30 правил) - результат 0. Зделал вывод: при увеличении таблицы маршрутизации (а там получается по 1000-1400 маршрутов - каждый коннект это маршрут) на обработку пакета уходит уже очень много времени, а прерывание сетевушки висит на одном ядре, и обработка вся на нем происходит и никакой NAPI не поможет, реже прерывание вызываем, а операции с пакетом те же. Вот и упирается кол-во стабильных коннектов в ~1200 при 3,2. а на более низкочастотном ядре еще меньше. Поделитесь, кто сколько выжимал, на чем, и может у меня просто грабли где-то? ЗЫ сейчас поставили параллельно оба сервака - все отл., может по такому пути шагать правильней? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kirya Опубликовано 28 апреля, 2008 · Жалоба Events загружает проц ? Версия pptpd какая ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
random7 Опубликовано 28 апреля, 2008 (изменено) · Жалоба Зделал вывод: при увеличении таблицы маршрутизации (а там получается по 1000-1400 маршрутов - каждый коннект это маршрут) на обработку пакета уходит уже очень много времени, а прерывание сетевушки висит на одном ядре, и обработка вся на нем происходит и никакой NAPI не поможет, реже прерывание вызываем, а операции с пакетом те же. Вот и упирается кол-во стабильных коннектов в ~1200 при 3,2. а на более низкочастотном ядре еще меньше. гадать незачем, ведь есть oprofile, который скажет, чем занято ядро гипотезу про таблицу маршрутизации также легко проверить: добавить лишних маршрутов (тоже /32 и из той же сетки) и посмотреть, появятся ли тормоза P.S. у меня тыщи юзеров на pptp никогда не было Изменено 28 апреля, 2008 пользователем random7 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan Rostovikov Опубликовано 28 апреля, 2008 · Жалоба >ЗЫ сейчас поставили параллельно оба сервака - все отл., может по такому пути шагать правильней? Правельней будет поставить еще 2 сетевухи и развести их по ядрам.Соотв. поднять еще 2 процесса PPTPD. У меня такаяже машина. Тоже HP 4 ядра. PPPoE На каждое ядро по сетевухе. И по отдельному процессу. В результате по 500-600 коннектов на ядро было. Весь локальный трафик через сервер. Загрузка конечно приличная.Но тянет. Правда есть 1но.Но. Платы у меня PCI-E Intel PRO 1000 (100$). Так вот иногда сервер на ровном месте (Debian Etch) уходит в kernel panic :-( С родными Broadcom такого ненаблюдал. Сильно напрягает.Че делать незнаю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 28 апреля, 2008 · Жалоба (Злорадно) А вот на FreeBSD... ухожу-ухожу... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ingress Опубликовано 28 апреля, 2008 · Жалоба (Злорадно) А вот на FreeBSD... ухожу-ухожу... а в линухе это тоже есть, только убогое :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AlterDen Опубликовано 28 апреля, 2008 (изменено) · Жалоба >ЗЫ сейчас поставили параллельно оба сервака - все отл., может по такому пути шагать правильней?Правельней будет поставить еще 2 сетевухи и развести их по ядрам.Соотв. поднять еще 2 процесса PPTPD. У меня такаяже машина. Тоже HP 4 ядра. PPPoE На каждое ядро по сетевухе. И по отдельному процессу. В результате по 500-600 коннектов на ядро было. Весь локальный трафик через сервер. Загрузка конечно приличная.Но тянет. Правда есть 1но.Но. Платы у меня PCI-E Intel PRO 1000 (100$). Так вот иногда сервер на ровном месте (Debian Etch) уходит в kernel panic :-( С родными Broadcom такого ненаблюдал. Сильно напрягает.Че делать незнаю. Идея про несколько сетевух мне понравилась, на предыдущем по цепочке серваке sorcerouting сделать, одни сети через одну сетевку, другие через другую. Покумекаю.А в кернел паник и у меня раз в два-три месяца уходит, перезагружается и дальше попер. (Злорадно) А вот на FreeBSD... ухожу-ухожу...Не против и на фряху перейти, mpd поюзать, вот только есть ли в этом резон? Что там лучшего-то? Events загружает проц ?Версия pptpd какая ? Events не грузит, грузит ksoftirqd/3. Если коннектов 1100 - жрет 3-5%, как 1300-1400 от 30-95%.pptpd v1.3.4 Изменено 28 апреля, 2008 пользователем AlterDen Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Кашмир Опубликовано 28 апреля, 2008 · Жалоба Парни выдержит ли mpd на FreeBSD при конфигурации: FreeBSD 6.2-RELEASE #0: Fri Jan 18 01:38:02 UTC 2008 root@:/usr/src/sys/amd64/compile/ROUTER Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel® Core2 CPU 6320 @ 1.86GHz (1866.66-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLU SH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS> Features2=0xe3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,<b9>,CX16,<b14>,<b15>> AMD Features=0x20000800<SYSCALL,LM> AMD Features2=0x1<LAHF> Cores per package: 2 real memory = 2138832896 (2039 MB) avail memory = 2054062080 (1958 MB) xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xec00-0xec7f mem 0xfebffc00-0xfebffc7f irq 18 at device 1.0 on pci1 до 1000 коннектов, если гнать весь локальный трафик через этот сервер (на него сходятся vlan от каждого дома) шейпинга, nat нет, тупо маршрутизация Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AlterDen Опубликовано 28 апреля, 2008 · Жалоба Парни выдержит ли mpd на FreeBSD при конфигурации: xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xec00-0xec7f mem 0xfebffc00-0xfebffc7f irq 18 at device 1.0 on pci1 до 1000 коннектов, если гнать весь локальный трафик через этот сервер (на него сходятся vlan от каждого дома) шейпинга, nat нет, тупо маршрутизация ИМХО, на 100Мб сетевухе гонять всю локалку, да еще и при 1000 активных юзверей, будет совсем не правильно. Если отовсюду 100Мб линки. соберите их на свитч с гигабитным портом( например 3010, или 3526) и гигабитом отдайте в сервер на что-нить типа Intel Pro 1000.А про конфиг сервака: локальный трафик через mpd(pppoe наверно хотите?) при 1000 активных такой не потянет. Про фряху правда не уверен, но на линуксе точно не прокатит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Кашмир Опубликовано 28 апреля, 2008 · Жалоба нет, не pppoe а vpn. vpn наверное в этом отношении не рекомендуете, повалит напрочь сервер? Ну реально пока 500 абонентов, просто на увеличение так сказать нужно. Зажму по 10-ть мегабит на дом пока, гигабит рано. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
AlterDen Опубликовано 28 апреля, 2008 · Жалоба нет, не pppoe а vpn. vpn наверное в этом отношении не рекомендуете, повалит напрочь сервер?Ну реально пока 500 абонентов, просто на увеличение так сказать нужно. Зажму по 10-ть мегабит на дом пока, гигабит рано. Если не собираетесь делать локалку платной, скорее всего Вам VPN на этом узле не нежен, разве что для доступа в инет как у нас. А на 10 Мб я б уже не рекомендовал ориентироваться, все уже давно стараются строить 100 к юзверю, гиг с дома. Железо уже совсем дешевое. Ориентируйтесь все-таки на 100Мб на дом минимум. Пора уж :))Роутинг вланов, биллинг, шейпинг, pptp(vpn) у меня жил на одном компе(Xeon 4x3.2) до 600 активных юзверей, потом всё разнесли по сервакам. Роутинг вообще без проблем гонятся на не сильных компах с нормальными сетевками, пока не появляются заморочки типа VPN. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 28 апреля, 2008 · Жалоба до 1000 коннектов, если гнать весь локальный трафик через этот сервер (на него сходятся vlan от каждого дома)шейпинга, nat нет, тупо маршрутизация :-) Сотку ? На Core2Duo ? Большими пакетами ? С этим любой AthlonXP 2200+ справится. Хоть тыщу юзеров, хоть две. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Кашмир Опубликовано 28 апреля, 2008 (изменено) · Жалоба Замечательно, доделываю оптику взамен меди на оставшемся районе и впихиваю все в свой VPN Реализация у меня просто такая: DHCP на vlan'е который идет на один дом и гонит траф весь на сервер центральный. По умолчанию на сервере разрешена лишь маршрутизация между тунельными IP, т.е. если юзверь не оплатил - то vpn не установит и следовательно далее своего дома ничего не увидет :) При этом мыльницы в домах и лишь в центрах l2 с раздачей вланов. Удобно Стоило бы узнать, следует ли обновить mpd с 3.8 до 5-го... или не трогать Изменено 28 апреля, 2008 пользователем Кашмир Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 28 апреля, 2008 · Жалоба У меня последний стабильный релиз - mpd 4.4, в пятерке какая-то плавающая бага до сих пор... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 29 апреля, 2008 · Жалоба а ссылку на описание бага можно? или хотя бы вкратце, в чем выражается? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Daemon256 Опубликовано 29 апреля, 2008 · Жалоба Парни выдержит ли mpd на FreeBSD при конфигурации: FreeBSD 6.2-RELEASE #0: Fri Jan 18 01:38:02 UTC 2008 root@:/usr/src/sys/amd64/compile/ROUTER Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel® Core2 CPU 6320 @ 1.86GHz (1866.66-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLU SH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS> Features2=0xe3bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,TM2,<b9>,CX16,<b14>,<b15>> AMD Features=0x20000800<SYSCALL,LM> AMD Features2=0x1<LAHF> Cores per package: 2 real memory = 2138832896 (2039 MB) avail memory = 2054062080 (1958 MB) xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xec00-0xec7f mem 0xfebffc00-0xfebffc7f irq 18 at device 1.0 on pci1 до 1000 коннектов, если гнать весь локальный трафик через этот сервер (на него сходятся vlan от каждого дома) шейпинга, nat нет, тупо маршрутизация Сейчас 2 сервера на free с mpd в режиме load balancing, до его включения всё на 1 крутилось, машинка С2D 3.00 пока идёт тестовое включение - пик 110 человек, анлиммы/лимиты, idle cpu 99% всегда Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 29 апреля, 2008 · Жалоба В двадцать пятый раз повторяю - нагрузку в юзерах меряют только линузятники. Нормальные люди меряют в kpps + Mbps. От количества сессий нагрузка практически не зависит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kirya Опубликовано 29 апреля, 2008 · Жалоба В двадцать пятый раз повторяю - нагрузку в юзерах меряют только линузятники. Нормальные люди меряют в kpps + Mbps. От количества сессий нагрузка практически не зависит. Jab открой сорцы, да посмотри что к чему, или у демонятников уже route table стал безграничным ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kirya Опубликовано 29 апреля, 2008 · Жалоба (Злорадно) А вот на FreeBSD... ухожу-ухожу...Не против и на фряху перейти, mpd поюзать, вот только есть ли в этом резон? Что там лучшего-то? Ничего там нового не придумано.Ну разве что косяки mpd и netgraf разбирать на порядок сложнее. Events загружает проц ?Версия pptpd какая ? Events не грузит, грузит ksoftirqd/3. Если коннектов 1100 - жрет 3-5%, как 1300-1400 от 30-95%.pptpd v1.3.4 Посмотри в таблице прерываний, кто у тебя проц так грузит ими.Дальше или oprofile, или тюнинг драйверов сетевухи. Дело не в pptpd. Он в user mode у тебя работать должен. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 29 апреля, 2008 · Жалоба Jab открой сорцы, да посмотри что к чему, или у демонятников уже route table стал безграничным ? Какие именно сорцы мне предлагается открыть ? :-) А то у меня их много разных... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan Rostovikov Опубликовано 29 апреля, 2008 · Жалоба >Если коннектов 1100 - жрет 3-5%, как 1300-1400 от 30-95%. IMHO По симптомам - это нехватка памяти. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kerogaz Опубликовано 30 апреля, 2008 · Жалоба По ходу это не память, а при превышения N прерываний они либо проскакивают, либо друг в друга вкладываются, отсюда и глюки, хоть 16процессорник ставь. На фряхе (вроде бы) частично лечится хитрой технологией которая данные и между прерываниями высасывает (по прерываниям от таймера), однако провы обычно кластер ставят из нескольких тачек, и днс-ом нагрузку между серваками разбрасывают, или просто юзеров с разных улиц или домов кидает на разные впнки. На мой вгляд эти впнки вообще в полной мере нахрен не нужны, (ну возможно за исключением юзателей белых ипов). Прицепился юзверь к серваку, авторизовался, далее он с этой впнки вообще выгоняется, и ходит себе по инету напрямую, пока комп не выключит (шлюз его арпами проверяет). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kirya Опубликовано 30 апреля, 2008 · Жалоба Jab открой сорцы, да посмотри что к чему, или у демонятников уже route table стал безграничным ? Какие именно сорцы мне предлагается открыть ? :-) А то у меня их много разных... Это уже вопрос не ко мне, ибо демонов стараюсь обходить :) По ходу это не память, а при превышения N прерываний они либо проскакивают, либо друг в друга вкладываются, отсюда и глюки, хоть 16процессорник ставь. На фряхе (вроде бы) частично лечится хитрой технологией которая данные и между прерываниями высасывает (по прерываниям от таймера), однако провы обычно кластер ставят из нескольких тачек, и днс-ом нагрузку между серваками разбрасывают, или просто юзеров с разных улиц или домов кидает на разные впнки. На мой вгляд эти впнки вообще в полной мере нахрен не нужны, (ну возможно за исключением юзателей белых ипов). Прицепился юзверь к серваку, авторизовался, далее он с этой впнки вообще выгоняется, и ходит себе по инету напрямую, пока комп не выключит (шлюз его арпами проверяет). Polling эта технология во фре называется.В Linux-e NAPI. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 30 апреля, 2008 · Жалоба Это уже вопрос не ко мне, ибо демонов стараюсь обходить :) В mpd два единственных упоминания, хоть как-то связанных с с route table - это "net/route.h" и "/sbin/route". Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vyruz Опубликовано 30 апреля, 2008 · Жалоба нормально все с фрюхой, работает ок, хотя согласен, от рук сильно зависит. по теме: Polling есть? в линухе его вроде NAPI зовут Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...