Проблема при большом количестве соединений

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-18 21:45:01

Доброго времени суток,у меня сервер на FreeBSD 10.0-RELEASE,на сервере установлен TeamSpeak3 сервер,когда на него заходит 300 человек то начинаются потери пакетов,и поднимаеться пинг (по информации из самой программы),канал 100 мегабитный, пинг к самому серверу не превышает 20 мс,подозрения на то что из за большого колва конектов freebsd просто не принимает новые,и из за этого лаги на самом TeamSpeak3 сервере
вывод netstat -m (с онлайном 250 - 260 человек)

Код: Выделить всё

342/1953/2295 mbufs in use (current/cache/total)
298/962/1260/62824 mbuf clusters in use (current/cache/total/max)
298/959 mbuf+clusters out of packet secondary zone in use (current/cache)
0/16/16/31411 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/9307 9k jumbo clusters in use (current/cache/total/max)
0/0/0/5235 16k jumbo clusters in use (current/cache/total/max)
681K/2476K/3157K bytes allocated to network (current/cache/total)
29/0/257 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for mbufs delayed (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters delayed (4k/9k/16k)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
вывод top

Код: Выделить всё

last pid:  1268;  load averages:  6.22,  5.80,  5.24                                              up 0+01:04:50  22:42:44
22 processes:  1 running, 21 sleeping
CPU: 14.1% user,  0.0% nice, 85.9% system,  0.0% interrupt,  0.0% idle
Mem: 81M Active, 29M Inact, 53M Wired, 109M Buf, 819M Free
Swap: 512M Total, 512M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  759 root         24 -52   r0   106M 84220K select  37:56  49.85% ts3-server
  721 root          1  20    0 65484K  6712K select   0:00   0.00% sshd
  784 root          1  20    0 23492K  3860K pause    0:00   0.00% csh
  723 root          1  20    0 23980K  5324K select   0:00   0.00% sendmail
  593 root          1  20    0 14432K  2064K select   0:00   0.00% syslogd
  650 root          2  52    0 39440K  4372K select   0:00   0.00% mpd5
  745 root          1  20    0  1076K   708K accept   0:00   0.00% getty
  730 root          1  20    0 16520K  2152K nanslp   0:00   0.00% cron
  739 root          1  35    0 12288K  2052K select   0:00   0.00% portsentry
 1268 root          1  20    0 19768K  2780K RUN      0:00   0.00% top
  718 root          1  31    0 60816K  6284K select   0:00   0.00% sshd
  726 smmsp         1  20    0 23980K  4884K pause    0:00   0.00% sendmail
  796 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  474 root          1  20    0 13584K  4452K select   0:00   0.00% devd
  800 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  803 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  799 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  802 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  801 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  798 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  797 root          1  52    0 14420K  1912K ttyin    0:00   0.00% getty
  741 root          1  52    0 12288K  1952K select   0:00   0.00% portsentry
подскажите пожалуйста какие значения изменить ?, ориентировочная максимальная нагрузка на сервер около 1 000 пользователей одновременно,
Последний раз редактировалось f_andrey 2015-06-19 2:26:10, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, если приведёте больше логов, это повысит вероятность ответов, а не флуда, оформляйте сообщение по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Проблема при большом количестве соединений

Непрочитанное сообщение BirdGovorun » 2015-06-18 22:51:24

Процессор не тянет столько народу.

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-18 22:53:53

BirdGovorun писал(а):Процессор не тянет столько народу.
то есть сейчас проблема с ЦП ?, но ведь показывает что CPU: 14.1% user

Отправлено спустя 46 секунд:
little_devil писал(а):
BirdGovorun писал(а):Процессор не тянет столько народу.
то есть сейчас проблема с ЦП ?, но ведь показывает что CPU: 14.1% user
upd вывод netstat -s -p udp
udp:
8584286 datagrams received
0 with incomplete header
0 with bad data length field
33 with bad checksum
296921 with no checksum
8481 dropped due to no socket
26050 broadcast/multicast datagrams undelivered
166841 dropped due to full socket buffers
0 not for hashed pcb
8382881 delivered
45414875 datagrams output
0 times multicast source filter matched

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Проблема при большом количестве соединений

Непрочитанное сообщение BirdGovorun » 2015-06-18 23:01:35

CPU: 0.0% idle говорит, что проц занят на 100%
load averages: 6.22 говорит, что система нагружена по самые немогу.

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-18 23:06:40

BirdGovorun писал(а):CPU: 0.0% idle говорит, что проц занят на 100%
load averages: 6.22 говорит, что система нагружена по самые немогу.
а CPU: 14.1% user за что тогда отвечает ?)

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Проблема при большом количестве соединений

Непрочитанное сообщение BirdGovorun » 2015-06-18 23:22:22

little_devil писал(а):
BirdGovorun писал(а):CPU: 0.0% idle говорит, что проц занят на 100%
load averages: 6.22 говорит, что система нагружена по самые немогу.
а CPU: 14.1% user за что тогда отвечает ?)
Не отвечает, а показывает сколько процессорного времени занимают пользовательские процессы.
Лучше systat -vmstat 1 чего и как, выход :q
И чего вы хотите с одноголового, памяти 1G и swap неправильный.

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-19 0:33:34

BirdGovorun писал(а):
little_devil писал(а):
BirdGovorun писал(а):CPU: 0.0% idle говорит, что проц занят на 100%
load averages: 6.22 говорит, что система нагружена по самые немогу.
а CPU: 14.1% user за что тогда отвечает ?)
Не отвечает, а показывает сколько процессорного времени занимают пользовательские процессы.
Лучше systat -vmstat 1 чего и как, выход :q
И чего вы хотите с одноголового, памяти 1G и swap неправильный.
а сколько должен быть своп ?,
памяти так понимаю ещё много свободно )
насколько я понимаю загрузка проца под 70% сейчас ?)
Изображение

Отправлено спустя 1 час 47 секунд:
вот кстати мой sysctl может что то нужно подправить ?
p.s заказал у хостера доп ядро :),виртуализацию КВМ использую
net.inet.udp.recvspace=41600
net.route.netisr_maxqlen=4096
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
kern.ipc.somaxconn=4096
net.inet.icmp.drop_redirect=1
net.inet.tcp.sack.enable=0
net.inet.icmp.maskrepl=0
net.inet.udp.blackhole=1
net.inet.tcp.syncookies=1
net.inet.tcp.recvspace
net.inet.tcp.sendspace=65535
net.inet.tcp.blackhole=2
net.link.ether.inet.max_age=1200
net.inet.icmp.bmcastecho=0
net.inet.ip.ttl=255
net.inet.udp.log_in_vain=1
net.inet.tcp.log_in_vain=1
net.inet.ip.forwarding=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1

Аватара пользователя
kharkov_max
капитан
Сообщения: 1861
Зарегистрирован: 2008-10-03 14:56:40

Проблема при большом количестве соединений

Непрочитанное сообщение kharkov_max » 2015-06-19 7:47:57

Подумайте над этим
166841 dropped due to full socket buffers

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-19 9:34:14

kharkov_max писал(а):Подумайте над этим
166841 dropped due to full socket buffers
задумался)),отредактировал sysctl.conf вот сами настройки :
############################################
#### Прочее для сетевых интерфейсов ########
############################################
#разрешим обмен пакетами между интерфейсами
net.inet.ip.forwarding=1

############################################
#### Оптимизация сетевой подсистемы ########
############################################
#Диапазон возможных портов для соединений
net.inet.ip.portrange.first=1024 #начало
net.inet.ip.portrange.last=65535 #конец
#Размер UDP receive буфера
net.inet.udp.recvspace=41600
#Размер исходящей очереди
net.route.netisr_maxqlen=4096
# Буферы для отправки данных
net.inet.tcp.sendspace=65535
#Буферы для приема данных
net.inet.tcp.recvspace=65536
# время жизни записи в IP route кэше
net.link.ether.inet.max_age=1200
#время жизни пакетов
net.inet.ip.ttl=255
# Включается возможность перехода в syncookies
net.inet.tcp.syncookies=1
#позволяет улучшить производительность при большой патере пакетов
net.inet.tcp.sack.enable=0
# размер очереди для сокетов
kern.ipc.somaxconn=4096
# Максимально количество TIME_WAIT сокетов
net.inet.tcp.maxtcptw=65536
#После того как соединение закрывается сокет переходит в состояние TIME_WAIT
net.inet.tcp.msl=30000
# Количество фрагментированных пакетов в очереди
net.inet.ip.maxfragpackets=1024
# максимальное количество сокетов
kern.ipc.maxsockets=65537
############################################
######## Зашита от сетевых атак ############
############################################
#если 1, то SYN пакеты пришедшие на порты для которых нет активных сервисов, остаются без RST ответа, если 2, то
#на любые пакеты нет ответа (затрудняет сканирования портов);
net.inet.tcp.blackhole=2
#отбрасываються все пакеты адрессованные закрытым портам
net.inet.udp.blackhole=1
#уничтожать icmp-датаграммы переадресации
net.inet.icmp.drop_redirect=1
#запрещаем ICMP-сообщения, приводящие к изменению таблицы маршрутизации
net.inet.ip.redirect=0
#логируем icmp
net.inet.icmp.log_redirect=1
#дропаем icmp
net.inet.icmp.drop_redirect=1
#отражаем в логе попытки соединения к портам, для которых нет активных сервисов;
net.inet.udp.log_in_vain=1 #udp порты
net.inet.tcp.log_in_vain=1 #tcp порты
#для защиты от SMURF атак (ICMP echo request на broadcast адрес) нудно поставить 0;
net.inet.icmp.bmcastecho=0
#что бы не прошупали сеть из нутри
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
#запрет запроса маски сети через icmp
net.inet.icmp.maskrepl=0
# Отбрасывать пакеты с флагами SYN+FIN (зашита от сканирования портов)
net.inet.tcp.drop_synfin=1
Отправлено спустя 1 минуту 18 секунд:
вывод netstat -s -p udp
udp:
953012 datagrams received
0 with incomplete header
0 with bad data length field
0 with bad checksum
20820 with no checksum
721 dropped due to no socket
40855 broadcast/multicast datagrams undelivered
0 dropped due to full socket buffers
0 not for hashed pcb
911436 delivered
949262 datagrams output
0 times multicast source filter matched
Отправлено спустя 18 секунд:
что можно сделать с dropped due to no socket ?

Отправлено спустя 20 минут 5 секунд:
в логах нашел,походу частью причины dropped due to no socket являеться то что сканят мой сервер :)
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [5.9.31.205]:40907 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [144.76.61.107]:35550 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [88.198.31.50]:38043 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [5.9.77.82]:52197 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [176.9.143.13]:37721 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [78.46.128.206]:34862 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:25:05 TeamSpeak3_server_service-voice kernel: TCP: [88.198.221.233]:53765 to [94.79.54.101]:3128 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:26:21 TeamSpeak3_server_service-voice kernel: Connection attempt to UDP 94.79.54.101:123 from 184.105.139.126:48798
Jun 19 10:26:42 TeamSpeak3_server_service-voice kernel: TCP: [61.183.128.6]:54486 to [94.79.54.101]:8888 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:26:50 TeamSpeak3_server_service-voice kernel: TCP: [122.114.119.126]:6000 to [94.79.54.101]:1433 tcpflags 0x2<SYN>; tcp_input: Connection attempt to closed port
Jun 19 10:27:45 TeamSpeak3_server_service-voice kernel: Connection attempt to UDP 94.79.54.101:61699 from 74.40.165.51:53

Аватара пользователя
kharkov_max
капитан
Сообщения: 1861
Зарегистрирован: 2008-10-03 14:56:40

Проблема при большом количестве соединений

Непрочитанное сообщение kharkov_max » 2015-06-19 9:36:54

Погуглить, найти настройку системы, поправить и радоваться жизни ...

Отправлено спустя 28 секунд:
А сканить всегда будут ...

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-19 9:39:12

kharkov_max писал(а):Погуглить, найти настройку системы, поправить и радоваться жизни ...

Отправлено спустя 28 секунд:
А сканить всегда будут ...
portsentry установлен),в блоках за день по 200+ ip,подскажите пожалуйста что можно оптимизировать в конфиге sysctl.conf,и вообще :)

little_devil
рядовой
Сообщения: 38
Зарегистрирован: 2015-04-20 19:31:49

Проблема при большом количестве соединений

Непрочитанное сообщение little_devil » 2015-06-19 21:22:13

уже 2 ядра..,но нагрузка на проц в таких же пределах
load averages: 4.21, 4.76, 4.59
hw.machine: amd64
hw.model: Common KVM processor
hw.ncpu: 2
hw.machine_arch: amd64