SokolovS Опубликовано 24 января, 2009 (изменено) · Жалоба Сервер на Linux 2.6.18 терминирует PPTP. При количестве клиентов более 500, пинг сильно скачет от 1 до 400 мс и появляются потери 5 - 10 на 1000 пакетов. NAT отсутствует, шейпинг отсутствует. Пингую внутренний сервер, т.е. трафик проходит транзитом через VPN и сразу на сервер. HZ в ядре 1000, загружал ядро с HZ 250, на ситуацию это не влияет. PPTP в юзерспейс. Сетевушки вот такие: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet driver: r8169 version: 2.2LK-NAPI Подскажите в чем может быть проблема и как продиагностировать? Изменено 24 января, 2009 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mystic Опубликовано 24 января, 2009 · Жалоба Покажи top. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 24 января, 2009 · Жалоба oprofile Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 24 января, 2009 (изменено) · Жалоба Причем в основном пинг около 2 мс, но иногда на 4-5 пингов подскакивает на уровень от 100-400. Транзитный трафик порядка 50-60 Мбит в пике. При ~500 и более юзерах примерно так: top - 23:21:35 up 8 days, 13:37, 1 user, load average: 6.55, 10.44, 12.25 Tasks: 950 total, 48 running, 902 sleeping, 0 stopped, 0 zombie Cpu(s): 8.3% us, 22.3% sy, 0.1% ni, 18.9% id, 0.0% wa, 6.5% hi, 43.9% si, 0.0% st Mem: 2070088k total, 1309244k used, 760844k free, 717928k buffers Swap: 2008084k total, 0k used, 2008084k free, 237448k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4953 root 16 0 2620 1528 796 R 6 0.1 0:04.54 top 25882 root 16 0 1624 592 460 R 6 0.0 0:22.43 pptpctrl 2631 root 15 0 1620 636 460 S 5 0.0 0:47.05 pptpctrl 10068 root 15 0 1884 848 460 S 4 0.0 13:27.69 pptpctrl 23928 root 15 0 2016 984 460 R 4 0.0 541:44.76 pptpctrl 20712 root 15 0 1888 856 460 S 4 0.0 16:51.05 pptpctrl 2259 zabbix 20 5 2032 428 336 S 3 0.0 61:23.58 zabbix_agentd 21026 root 15 0 1756 708 460 R 3 0.0 156:56.35 pptpctrl 6 root 34 19 0 0 0 R 3 0.0 402:30.85 ksoftirqd/1 2258 zabbix 21 5 2028 416 324 S 3 0.0 60:37.35 zabbix_agentd 2052 root 16 0 1624 660 460 R 3 0.0 2:59.17 pptpctrl 3 root 34 19 0 0 0 S 3 0.0 380:09.75 ksoftirqd/0 27856 root 15 0 1752 724 460 S 3 0.0 20:53.51 pptpctrl 19952 root 16 0 1624 592 460 R 3 0.0 1:30.71 pptpctrl 15005 root 15 0 1620 608 460 R 3 0.0 5:26.62 pptpctrl 6846 root 15 0 1624 660 460 S 2 0.0 3:42.44 pptpctrl 22669 root 15 0 1620 576 460 S 2 0.0 0:36.41 pptpctrl 23600 root 15 0 1620 612 460 S 2 0.0 1:25.39 pptpctrl 3469 root 15 0 1620 560 460 S 2 0.0 0:07.88 pptpctrl 11698 root 15 0 1620 616 460 R 2 0.0 8:50.72 pptpctrl 20862 root 15 0 1620 668 460 S 2 0.0 2:25.13 pptpctrl 7949 root 15 0 1620 672 460 R 2 0.0 10:13.71 pptpctrl 15940 root 15 0 1756 704 460 R 2 0.0 19:13.38 pptpctrl 23020 root 15 0 1620 588 460 R 2 0.0 7:14.14 pptpctrl 6595 root 15 0 1624 676 460 R 2 0.0 14:09.27 pptpctrl 18975 root 15 0 1620 676 460 S 2 0.0 7:08.20 pptpctrl 16515 root 15 0 1620 612 460 R 2 0.0 1:57.41 pptpctrl 18486 root 15 0 1620 600 460 R 2 0.0 1:42.89 pptpctrl 27132 root 15 0 1624 584 460 S 2 0.0 0:59.51 pptpctrl 11944 root 15 0 1624 560 460 R 1 0.0 1:01.02 pptpctrl 25137 root 15 0 1620 636 460 R 1 0.0 5:58.47 pptpctrl 12103 root 15 0 1624 568 460 D 1 0.0 0:22.76 pptpctrl Изменено 24 января, 2009 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Kirya Опубликовано 24 января, 2009 · Жалоба oprofileРано ещё его читать.Dmesg ни на что не ругается ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 25 января, 2009 · Жалоба oprofileРано ещё его читать. Вот и я так подумал, камень то грузит не на 100%, т.е. нехватки процессорного времени нет. Dmesg ни на что не ругается ?Есть вот такой варнинг... больше ничего нет BUG: warning at kernel/cpu.c:51/unlock_cpu_hotplug() [<c0137598>] unlock_cpu_hotplug+0x2c/0x54 [<c02914f2>] store_speed+0x99/0xa2 [<c0291459>] store_speed+0x0/0xa2 [<c0290309>] store+0x31/0x41 [<c0197227>] sysfs_write_file+0xa5/0xcf [<c0197182>] sysfs_write_file+0x0/0xcf [<c0161ef7>] vfs_write+0xa6/0x14b [<c0162783>] sys_write+0x3c/0x63 [<c0102be5>] sysenter_past_esp+0x56/0x79 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 25 января, 2009 · Жалоба Вот и я так подумал, камень то грузит не на 100%, т.е. нехватки процессорного времени нет. Чтоб узнать, например, что прерывания грузят проц на 30% и нужно включить NAPI, вовсе не обязательно ждать, пока система загнется. Считайте, что профайлер - тот же top, но не риалтаймовый, а статистический. Имхо, от общей статистики больше толку, чем от моментальных величин в любой момент времени. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 25 января, 2009 (изменено) · Жалоба 2EvilShadow: а разве решение использовать NAPI не сам драйвер сетевушки принимает? У меня в пике больше 20 kpps не бывает. Изменено 25 января, 2009 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 25 января, 2009 · Жалоба Он может просто быть собран без поддержки NAPI :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan Rostovikov Опубликовано 25 января, 2009 · Жалоба iptables покажи ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 25 января, 2009 (изменено) · Жалоба Он может просто быть собран без поддержки NAPI :)См. первый пост Меня вот что смущает. # cat /proc/interrupts ... 11: 249357177 3425257197 XT-PIC libata, ohci1394, eth3, eth4 ... Обе сетевушки висят на однмо прерывании. Это вобще нормально? Изменено 25 января, 2009 пользователем SokolovS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
random7 Опубликовано 25 января, 2009 · Жалоба ещё XT-PIC смущает APIC не работает? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 25 января, 2009 · Жалоба iptables покажи ? #!/bin/sh # Сменим на каталог размещения скрипта FWDIR=`dirname $0` cd $FWDIR # Исполняемый файл iptables IPTABLES="iptables" # Интерфейсы LO_IFACE="lo" LAN_IFACE="eth3" SRV_IFACE="eth5" INET_IFACE="eth4" CLIENT_IFACE="ppp+" # Сети и адреса LOCAL_NET="x.x.x.x/16" OFFICE_NET="x.x.x.x/22" LAN_IP="x.x.x.x" GRAY_NET="x.x.x.x/16" # Белая сеть OUR_NETWORK="x.x.x.x/22" # Названия цепочек LOCAL="ZLOCAL" BILLING="ZBILLING" # Очистить таблицы $IPTABLES -F $IPTABLES -X # Политика по умолчанию IPv4 $IPTABLES -P FORWARD DROP ########################################## # Билинг, forward трафик ########################################## $IPTABLES -N $BILLING # [ACCOUNTING] Считаем трафик на собственную белую подсеть $IPTABLES -A $BILLING -d $OUR_NETWORK -j ULOG --ulog-prefix "FWD_IN" # [ACCOUNTING] Считаем трафик на серую подсеть $IPTABLES -A $BILLING -o $CLIENT_IFACE -d $GRAY_NET -j ULOG --ulog-prefix "FWD_IN" # Разрешаем трафик в выданную подсеть для машин со статическими адресами $IPTABLES -A $BILLING -i $SRV_IFACE -s $OUR_NETWORK -j RETURN $IPTABLES -A $BILLING -o $SRV_IFACE -d $OUR_NETWORK -j RETURN # Разрешаем трафик в выданную подсеть для юр.лиц $IPTABLES -A $BILLING -i $INET_IFACE -s $OUR_NETWORK -j RETURN $IPTABLES -A $BILLING -o $INET_IFACE -d $OUR_NETWORK -j RETURN # Разрешаем трафик на собственную подсеть для VPN-клиентов $IPTABLES -A $BILLING -i $CLIENT_IFACE -s $OUR_NETWORK -j RETURN $IPTABLES -A $BILLING -o $CLIENT_IFACE -d $OUR_NETWORK -j RETURN # Разрешаем на серую подсеть для VPN-клиентов $IPTABLES -A $BILLING -i $CLIENT_IFACE -s $GRAY_NET -j RETURN $IPTABLES -A $BILLING -o $CLIENT_IFACE -d $GRAY_NET -j RETURN # Все остальное удалить $IPTABLES -A $BILLING -j DROP ########################################## # Disable conntrack for transit ########################################## $IPTABLES -t raw -A PREROUTING -i $CLIENT_IFACE -s $OUR_NETWORK -j NOTRACK $IPTABLES -t raw -A PREROUTING -d $OUR_NETWORK -j NOTRACK $IPTABLES -t raw -A PREROUTING -i $CLIENT_IFACE -s $GRAY_NET -j NOTRACK $IPTABLES -t raw -A PREROUTING -d $GRAY_NET -j NOTRACK ########################################## # Цепочка для локальной сети ########################################## $IPTABLES -N $LOCAL $IPTABLES -A $LOCAL -p TCP -i $LAN_IFACE -s $OFFICE_NET --dport 10050 -j ACCEPT # Zabbix Agent $IPTABLES -A $LOCAL -p TCP -i $LAN_IFACE --dport 22 -j ACCEPT # SSH $IPTABLES -A $LOCAL -p TCP -i $LAN_IFACE --dport 1723 -j ACCEPT # PPTP $IPTABLES -A $LOCAL -p GRE -i $LAN_IFACE -j ACCEPT # GRE ########################################## # Разрешающие INPUT правила ########################################## $IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT # Ping (все пинги) $IPTABLES -A INPUT -p UDP -m udp --sport 32769:65535 --dport 33434:33523 -j ACCEPT # Traceroute # Отправить в цепочку для локальной сети $IPTABLES -A INPUT -i $LAN_IFACE -s $LOCAL_NET -j $LOCAL # Разрешать все loopback пакеты $IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT # Удалять все входящие пакеты не ESTABLISHED,RELATED $IPTABLES -A INPUT -p ALL -m state ! --state ESTABLISHED,RELATED -j DROP # Цепочки по forward трафку $IPTABLES -A FORWARD -j $BILLING $IPTABLES -A FORWARD -j ACCEPT # Сохранить основные правила /sbin/service iptables save В форвард цепочке трафик отправляется в ulog-acctd, но его отключение на ситуацию не влияет. ещё XT-PIC смущаетAPIC не работает? Да, apic отключен отпцией noapic в параметрах ядра. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 25 января, 2009 · Жалоба Он может просто быть собран без поддержки NAPI :)См. первый пост Самое главное:Чтоб узнать, например, что прерывания...Я к тому, что профайлер - штука полезная всегда Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Oleg_S Опубликовано 27 января, 2009 · Жалоба Сервер на Linux 2.6.18 терминирует PPTP. При количестве клиентов более 500, пинг сильно скачет от 1 до 400 мс и появляются потери 5 - 10 на 1000 пакетов. NAT отсутствует, шейпинг отсутствует.Пингую внутренний сервер, т.е. трафик проходит транзитом через VPN и сразу на сервер. HZ в ядре 1000, загружал ядро с HZ 250, на ситуацию это не влияет. PPTP в юзерспейс. Сетевушки вот такие: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet driver: r8169 version: 2.2LK-NAPI Подскажите в чем может быть проблема и как продиагностировать? Проблема - userspace pptp Диагностика - mpstat -P ALL 10 Общий совет - если процессоров(ядер) >1, то каждая сетевая должна быть на своем отдельном прерывании, соотвественно, каждое прерывание на отдельном процессоре(ядре). Но с юзерспейс pptp это все равно не спасет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xeb Опубликовано 27 января, 2009 · Жалоба accel-pptp попробуй на досуге Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 27 января, 2009 · Жалоба Вот уже натсраиваю новый сервер с accel-pptp. Кстати как быть когда ядер 4? Я так понимаю irqbalance нужно запускать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivantey Опубликовано 27 января, 2009 · Жалоба Вот уже натсраиваю новый сервер с accel-pptp. Кстати как быть когда ядер 4? Я так понимаю irqbalance нужно запускать? Замечено что после установки accel только одно ядро загружается. Второе простаивает пока прерывания одной из сетевок на другое ядро не посадишь Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SokolovS Опубликовано 27 января, 2009 · Жалоба Хм. Как тогда быть если ядер >2 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xeb Опубликовано 27 января, 2009 · Жалоба не загоняйся с ядрами, реализация PPP в ядре однопоточная вобщем пробуй accel-pptp, если на поптопе у тебя было 500 в переделе, то с accel-pptp 1000 коннектов будет лафа серваку, он будет отдыхать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivantey Опубликовано 27 января, 2009 · Жалоба У нас со sdy_moscow пока большой лафы не получилось. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xeb Опубликовано 28 января, 2009 · Жалоба да, может быть я и преувеличил с лафой, но то что он потянет 1000 коннектов у меня нет сомнений Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Negator1983 Опубликовано 28 января, 2009 · Жалоба сетевушки я бы сменил Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sdy_moscow Опубликовано 28 января, 2009 (изменено) · Жалоба Ivantey просто поторопился.... :-) Сегодня подшаманили с файрволом и ВОТ ОНО ЧУДО - нагрузка на проц по моим прикидкам снизилась в 2-3 раза.... Итог 1. ставим ассел 2. контрак или отключаем или маскируем в цепочке рау (ГРЕ протокол, 1723 порт тсп, ИП клиентов) в иптаблес (я так в итоге сделал, т.к. хочу кое-что все-таки отслеживать и НАТить). 3. файрвол настраиваем с умом - чтоб гре и пакеты юзеров лишних проверок не проходили. И УРА! ЗАРАБОТАЛО! З.Ы. если ве-же нужен НАТ - то тут походу ничего не поможет - контрак реально больше 500 сесий активных юзверей не вытянет... ХЕВ - кстати в 0.8.2какие то проблемы... make server не выполняется в каком-то конфигуре происходит сбой из-за пермишенов.... попозже сравню файлы... Изменено 28 января, 2009 пользователем sdy_moscow Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xeb Опубликовано 28 января, 2009 (изменено) · Жалоба З.Ы. если ве-же нужен НАТ - то тут походу ничего не поможет - контрак реально больше 500 сесий активных юзверей не вытянет...вытянет, нужно отрубать только conntrack_gre, а не весь conntrackХЕВ - кстати в 0.8.2какие то проблемы... make server не выполняется в каком-то конфигуре происходит сбой из-за пермишенов.только что проверил, всё нормально Изменено 28 января, 2009 пользователем xeb Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...