Название: Заглушка загружует ядро в 100% Отправлено: SeMant от 11 Апреля 2015, 12:50:58 На всех Насах появилась проблема. Заглушка валит ядро процессора в 100% и начинают отваливатиься PPPoE соединения. Авторизации длятся по несколько минут.
Ревизия билинга 291 Версии фри 9.1-RELEASE и 10.1-STABLE Версии пёрла 5.16 и 5.18. Соответственно. В последнее время ничего дополнительно не ставилось и не настраивалось, только обновлялось существующее. Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 11 Апреля 2015, 16:18:53 значит много запросов на нее валит, посмотри, например по trafshow какой трафик идет на нее
Название: Re: Заглушка загружует ядро в 100% Отправлено: Warlock от 11 Апреля 2015, 21:44:59 У меня на одном насе подобная прблемка. Как только подорожают модуль заглушки она начинает кушать 45% проца. Это при том, что к этому серверу не подключен ни один пользователь...
Название: Re: Заглушка загружует ядро в 100% Отправлено: SeMant от 15 Апреля 2015, 09:44:48 значит много запросов на нее валит, посмотри, например по trafshow какой трафик идет на нее по какой сетевой смотреть, или Я что-то не понял ?Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 15 Апреля 2015, 23:32:11 значит много запросов на нее валит, посмотри, например по trafshow какой трафик идет на нее по какой сетевой смотреть, или Я что-то не понял ?Название: Re: Заглушка загружует ядро в 100% Отправлено: SeMant от 29 Мая 2015, 13:16:23 значит много запросов на нее валит, посмотри, например по trafshow какой трафик идет на нее Валит http трафик разным моим абонентам.Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 29 Мая 2015, 14:17:07 можно попробовать ограничить по потокам трафик на 80й порт с помощью pf
Название: Re: Заглушка загружует ядро в 100% Отправлено: SeMant от 29 Мая 2015, 17:08:41 можно попробовать ограничить по потокам трафик на 80й порт с помощью pf Подскажите так, а то не приходилось ранее ?pass in quick on lo0 proto tcp from any to any port 80 keep state (source-track rule, max-src-states 2, max-src-nodes 100) Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 30 Мая 2015, 14:28:57 Сори, давно уже не админю
Название: Re: Заглушка загружует ядро в 100% Отправлено: mitya0208 от 15 Марта 2017, 12:44:10 Доброго времени суток!
Периодически виснет модуль заглушки (вынесен отдельным процессом). Если убить процесс и запустить заново 10-14 дней работает нормально потом опять начинает подвисать. При детальном исследовании заметил: Код: ps -ax | grep no Код: 870 root 98 0 79576K 28520K CPU4 4 525.1H 90.58% perl{perl} На локальном интерфейсе пусто: Код: tcpdump -i lo0 Код: tcpdump dst 127.0.0.1 Все это происходит на 2 NAS серверах. Все остальные процессы нервно курят в сторонке. Версия nodeny: Код: Revision: 400 Общий трафик на сервере 400-500 Мбит. Код: ps -ax | grep no Код: 871 root 20 0 60900K 14068K select 1 351:04 0.00% perl Код: sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu' Получается самый ресурсоемкий процесс именно заглушка, при том что на нее особо ничего не валиться. Такая ситуация - это нормально или надо куда-то смотреть? Возможно это и есть причина подвисания процесса? Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 15 Марта 2017, 13:25:24 forward не меняет dst в пакетах, поэтому tcpdump фильтр не отловит dst 127.0.0.1, вполне возможно что на заглушку валит хороший трафик, можно посмотреть запустив ее с ключем -v
Заглушка выполняет роль вебсервера, но это не вебсервер - это скрипт, который предназначен для обработки небольшого количества запросов. По хорошему, на заглушку надо ограничивать трафик по количеству пакетов на один ip - я в форуме писал как это сделать, лом искать Название: Re: Заглушка загружует ядро в 100% Отправлено: mitya0208 от 15 Марта 2017, 15:16:15 Если вы имеете ввиду вот это:
Цитировать pass in quick on lo0 proto tcp from any to any port 80 keep state (source-track rule, max-src-states 2, max-src-nodes 100) то пробовал. Результат не меняется. Запустил заглушку с ключиком -v: 1 NAS - за минуту 5 запросов 2 NAS - вообще тихо Получается что она в режиме простоя нагружает проц. На основном сервере (конфигурация одинаковая с NAS, но там 500-600 Мбит трафика) все еще печальнее: Код: ps -ax | grep no Код: 972 root 102 0 83652K 8100K CPU4 4 719.4H 100.00% perl{perl} По количеству запросов почти тоже самое 7-8 запросов в минуту. Куда еще можно глянуть на эту тему? Название: Re: Заглушка загружует ядро в 100% Отправлено: elite от 19 Марта 2017, 20:20:59 вместо заглушки использовать nginx?
Название: Re: Заглушка загружует ядро в 100% Отправлено: Efendy от 20 Марта 2017, 12:27:49 вместо заглушки использовать nginx? Кстати да, все что нужно - это отредиректить на другой урл. Конфиг дашь?Название: Re: Заглушка загружует ядро в 100% Отправлено: Pa4ka от 20 Марта 2017, 13:00:42 вместо заглушки использовать nginx? Кстати да, все что нужно - это отредиректить на другой урл. Конфиг дашь?У меня на NASе с accel-ом прямо на URL заглушки так: Цитировать #Конфиг сервера nginx файл nginx.conf user www-data www-data; worker_processes 8; # указать текущее количество ядер процессора worker_priority -20; pid /var/run/nginx.pid; error_log /home/var/log/nginx/error.log warn; events { worker_connections 1024; accept_mutex on; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; reset_timedout_connection on; server_tokens off; log_format main '$remote_addr - [$time_local] ' '$host "$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" ' '"$gzip_ratio" $upstream_response_time'; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 0; client_max_body_size 512m; server_names_hash_max_size 1024; server_names_hash_bucket_size 128; port_in_redirect off; gzip on; gzip_vary on; gzip_min_length 1024; gzip_buffers 16 8k; gzip_comp_level 5; gzip_http_version 1.0; gzip_proxied any; gzip_disable "msie6"; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript text/json; fastcgi_temp_path /var/cache/nginx/temp/fastcgi; proxy_temp_path /var/cache/nginx/temp/proxy; charset utf-8; index index.php index.html index.htm; access_log off; error_log /dev/null; set_real_ip_from ТУТ_РЕАЛЬНЫЙ ИП СЕРВЕРА; # указать "честный" IP сервера real_ip_header X-Real-IP; include /etc/nginx/sites-enabled/*; #Путь к конфигам сайта } Цитировать #Где конфиг лежит и сам файл ну тут порт у меня 8001 так в фаерволе сделал я#..nginx/site-available/example.com server { listen 8001; server_name localhost; #charset koi8-r; access_log /home/var/log/nginx/redirect.access.log; location / { if ( $http_user_agent ~ ^uTorrent ) { return 404; } if ( $http_user_agent ~ Windows-Update-Agent ) { return 404; } if ( $http_user_agent ~ "Microsoft NCSI" ) { return 404; } if ( $http_user_agent ~ "ESS Update" ) { return 404; } if ( $http_user_agent ~ "Google Update" ) { return 404; } if ( $http_user_agent ~ "Microsoft-CryptoAPI" ) { return 404; } if ( $http_user_agent ~ "Microsoft BITS" ) { return 404; } if ( $http_user_agent ~ MSDW ) { return 404; } if ( $http_user_agent ~ ^SeaPort ) { return 404; } if ( $http_user_agent ~ ^Windows-Media-Player ) { return 404; } if ( $http_user_agent ~ "Google Update" ) { return 404; } if ( $http_user_agent ~ ^GoogleEarth ) { return 404; } if ( $http_user_agent ~ ^Skype ) { return 404; } if ( $http_user_agent = "MailRuSputnik" ) { return 404; } if ( $http_user_agent ~ ^Ya\.Online ) { return 404; } if ( $http_user_agent ~ ^MRA ) { return 404; } if ( $http_user_agent ~* ^MediaGet ) { return 404; } if ( $http_user_agent ~ ^BTWebClient ) { return 404; } # Avast updater if ( $http_user_agent ~ ^Syncer ) { return 404; } # Trend Micro updater if ( $http_user_agent = "TMUFE" ) { return 404; } if ( $http_user_agent ~ ^Akamai\ NetSession\ Interface ) { return 404; } if ( $http_user_agent ~ ^VKSaver ) { return 404; } if ( $http_user_agent ~ DrWebUpdate ) { return 404; } if ( $http_user_agent = "" ) { return 404; } if ( $host ~ geo\.kaspersky\.com ) { return 404; } if ( $host ~ (su|download|webrep).*\.avast\.com ) { return 404; } if ( $host = wi2geo.mobile.yandex.net ) { return 404; } if ( $host ~ bar.*\.yandex\.ru ) { return 404; } if ( $host ~ (ping|master)\d*\.(dyngate|teamviewer)\.com ) { return 404; } if ( $host ~ sitecheck\d*\.opera\.com ) { return 404; } if ( $host ~ (xml\.my|mailsputnik|maps)\.mail\.ru ) { return 404; } if ( $host = onlineconfigservice.ubi.com ) { return 404; } if ( $host = com-services.pandonetworks.com ) { return 404; } if ( $host ~ ticno\.com ) { return 404; } if ( $host ~ conduit ) { return 404; } if ( $host ~ cbox\.ws ) { return 404; } if ( $host ~ (pricelist|metrics)\.skype\.com ) { return 404; } if ( $host = weather.service.msn.com ) { return 404; } if ( $host = advstat.letitbit.net ) { return 404; } if ( $host = skymonk.net ) { return 404; } if ( $host ~ counter ) { return 404; } if ( $host ~ pluraserver ) { return 404; } if ( $host ~ apps.bittorrent.com ) { return 404; } if ( $host ~ offers.bittorrent.com ) { return 404; } if ( $host ~ tracker ) { return 404; } if ( $request_uri ~* (update|feed|announce|rss|xml|json|oauth) ) { return 404; } if ( $request_uri ~* (toolbar|suggest) ) { return 404; } if ( $request_filename ~ \.(ico|gif|jpg|png) ) { return 404; } if ( $request_filename ~ \.(css|xml|js|swf|flv) ) { return 404; } if ( $request_filename ~ \.(crl|txt|cab|msi|jar) ) { return 404; } if ( $host ~ norton ) { return 404; } proxy_set_header X-Real-IP $remote_addr; #WORK if delete caps tmpl cache rewrite ^ хттп://КУДА_РЕДИРЕКТИТЬ/cgi-bin/cap.pl?url=хттп://$host$request_uri redirect; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |