как образец привел один - они все по шаблону
По top - я когда то падал вместе с сервером - был запущен top - ничего не обычного.
Основная проблема на мой взгляд - что падения происходят НЕ обязательно в моменты сильной нагрузки. Да и сервер я конфигурировал, что бы он не напрягаясь отдавал много.
Вот скажем сейчас:
В лог nginx за сутки попадает 15 миллионов записей.
Интересно - почему у меня Апач такой большой? :) - порядка 350 мбайт на процесс в среднем.
Пока что порезал лимиты в конфиге Апача до 128 MaxClients, подумав над прозвучавшими советами :).
Ну и еще лимитов уменьшил других. Пока работает :).
Если не ошибаюсь, то FastVPS продает то, что продает Hetzner :).
Тогда нет. OVH.
Я просто не совсем уверен, что проблема в железе и хз что хотеть от ДЦ? Заменить плату? БП? Целиком сервер? Они протестируют - скажут проблемы нет да еще и денег спишут :).
Да и софта хватает привязанного к данному серверу, что бы просто так разбрасываться заменами. И прочим. 😒
вот типичная картина
на сервере только статика на 99,99% :)
Проц - тоже не перегружается.
atop - поставил пару часов назад. :)
Через квм не смотрел тогда, смотрел через ipmi - выглядело так
Обложился мониторингом - жду когда зависнет)!
ps --no-headers -o "rss,cmd" -C httpd | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024," Mb") }'
64 гига то есть, только во первых часть из них я под рам-диск использую - для снижения нагрузки на винт. Порядка 10 - гиг. А во вторых:
356 mb выдало по вышеприведенному запросу 🤪
Получается мне больше 100 ставить нельзя? 100 * 356 = ну что бы с запасом.
И подрезать тайм-ауты апача? Что бы быстрее закрывал соединения?
Хорошее замечание - уменьшу, но там nginx отрабатывает все - на Апач не более 20-30 процессов крутится.
типичная картинко:
По нагрузке - скажем по пакетам - выглядит за прошлые сутки так - два падения - это они и есть - зависон + ребут.
---------- Добавлено 30.01.2014 в 15:25 ----------
mpm_prefork_module
по процессам - думаю норм, а как точно посмотреть их в момент падения?
И в своп не падает. ла в норме.
окончание
AddLanguage ca .ca AddLanguage cs .cz .cs AddLanguage da .dk AddLanguage de .de AddLanguage el .el AddLanguage en .en AddLanguage eo .eo AddLanguage es .es AddLanguage et .et AddLanguage fr .fr AddLanguage he .he AddLanguage hr .hr AddLanguage it .it AddLanguage ja .ja AddLanguage ko .ko AddLanguage ltz .ltz AddLanguage nl .nl AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddLanguage pt .pt AddLanguage pt-BR .pt-br AddLanguage ru .ru AddLanguage sv .sv AddLanguage zh-CN .zh-cn AddLanguage zh-TW .zh-tw LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW ForceLanguagePriority Prefer Fallback AddDefaultCharset UTF-8 AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl AddHandler type-map var AddType text/html .shtml AddOutputFilter INCLUDES .shtml <IfModule mod_negotiation.c> <IfModule mod_include.c> <Directory "/var/www/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en es de fr ForceLanguagePriority Prefer Fallback </Directory> <Directory /var/www/*/data/> php_admin_flag engine off </Directory> </IfModule> </IfModule> BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs/1.0" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully <Directory /var/www/name.com> Options -ExecCGI -Includes </Directory> NameVirtualHost 127.0.0.1:81 <VirtualHost 127.0.0.1:81> ServerName name.com DocumentRoot /var/www/name.com ServerAdmin webmaster@name.com ServerAlias www.name.com </VirtualHost> ================================================ =================sysctl.conf==================== # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding #####net.ipv4.ip_forward = 0 # Controls source route verification #####net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing #####net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 # Controls the use of TCP syncookies #####net.ipv4.tcp_syncookies = 1 # Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 # Controls the default maxmimum size of a mesage queue kernel.msgmnb = 65536 # Controls the maximum size of a message, in bytes kernel.msgmax = 65536 # Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736 # Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 # Disable IPv6 autoconf. net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.eth0.autoconf = 0 net.ipv6.conf.all.accept_ra = 0 net.ipv6.conf.default.accept_ra = 0 net.ipv6.conf.eth0.accept_ra = 0 net.ipv4.conf.all.accept_redirects=0 net.ipv4.conf.all.secure_redirects=0 net.ipv4.conf.all.send_redirects=0 net.ipv4.tcp_max_orphans=65536 net.ipv4.tcp_fin_timeout=10 net.ipv4.tcp_keepalive_time=1800 net.ipv4.tcp_keepalive_intvl=15 net.ipv4.tcp_keepalive_probes=10 net.ipv4.tcp_max_syn_backlog=4096 net.ipv4.tcp_synack_retries=1 net.ipv4.tcp_mem=50576 64768 98152 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.ipv4.tcp_orphan_retries=0 net.ipv4.tcp_syncookies=0 net.ipv4.netfilter.ip_conntrack_max=1048576 net.ipv4.tcp_timestamps=1 net.ipv4.tcp_sack=1 net.ipv4.tcp_congestion_control=htcp net.ipv4.tcp_no_metrics_save=1 net.ipv4.route.flush=1 net.ipv4.conf.all.rp_filter=1 net.ipv4.conf.lo.rp_filter=1 net.ipv4.conf.eth0.rp_filter=1 net.ipv4.conf.default.rp_filter=1 net.ipv4.conf.all.accept_source_route=0 net.ipv4.conf.lo.accept_source_route=0 net.ipv4.conf.eth0.accept_source_route=0 net.ipv4.conf.default.accept_source_route=0 net.ipv4.ip_local_port_range=1024 65535 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_window_scaling=1 net.ipv4.tcp_rfc1337=1 net.ipv4.ip_forward=0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.icmp_echo_ignore_all=0 net.ipv4.icmp_ignore_bogus_error_responses=1 net.core.somaxconn=20000 net.core.netdev_max_backlog=1000 net.core.rmem_default=65536 net.core.wmem_default=65536 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.netfilter.nf_conntrack_tcp_timeout_established=600 net.netfilter.nf_conntrack_max=131072 vm.swappiness=2
сервер ксеон 8/16 64 памяти.
мускл не используется практически - на нем одна мелкая БД, которую использую сугубо в личных целях - с внешки доступа кроме меня нет.
Конфиги с большего вот. Критика принимается с радостью, просьба не пинать сильно :).
user apache;worker_processes 48; pid /var/run/nginx.pid; events { worker_connections 8192; use epoll; } #=========================== #100 timer_resolution 100ms; worker_rlimit_nofile 8192; worker_priority -5; #=========================== http { geoip_country /home/.../GeoIP.dat; include /etc/nginx/mime.types; default_type application/octet-stream; server_names_hash_max_size 131072; server_names_hash_bucket_size 256; log_format main ... remote_user [$time_local]'; access_log /home/.../access.log main; error_log /home/.../error1.log notice; sendfile on; tcp_nopush on; tcp_nodelay on; server_tokens off; chunked_transfer_encoding on; client_body_in_file_only off; underscores_in_headers on; keepalive_disable msie6; keepalive_requests 100; gzip on; gzip_min_length 100; gzip_buffers 64 8k; gzip_comp_level 6; gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript application/json text/css; gzip_disable msie6; gzip_vary off; proxy_buffering on; proxy_buffer_size 32k; proxy_buffers 32 32k; proxy_busy_buffers_size 64k; proxy_ignore_client_abort off; proxy_intercept_errors off; proxy_read_timeout 320s; proxy_set_header Range ""; proxy_set_header Request-Range ""; keepalive_timeout 65s; open_file_cache max=100000 inactive=40s; open_file_cache_valid 360s; open_file_cache_min_uses 2; open_file_cache_errors on; expires max; directio 512K; limit_rate 4096K; limit_rate_after 1024K; ignore_invalid_headers on; reset_timedout_connection on; client_header_timeout 30s; client_body_timeout 55s; send_timeout 65s; output_buffers 16 32k; postpone_output 1460; connection_pool_size 4096; large_client_header_buffers 256 32k; client_header_buffer_size 4k; client_body_buffer_size 64k; request_pool_size 64k; client_max_body_size 16M; include /etc/nginx/nginx-vhosts.conf; } ================================ пример: nginx-vhosts.conf server { server_name name.com www.name.com; listen 99.99.99.255; set $root_path /var/www/; include /etc/nginx/nginx-loc.conf; ================================ далее nginx-loc.conf if ($http_user_agent ~* "(Baiduspider|Genieo)") { return 444; } if ($request_method !~ ^(GET|HEAD)$ ) { return 444; } location ~* ^.+\.(jpeg|png|js|css|html|htm|swf|flv|jpg|gif|txt|xml|ico)$ { root $root_path; try_files $uri @fallback; expires 6h; error_page 404 = @fallback; } location / { proxy_pass http://127.0.0.1:81;proxy_redirect off;proxy_set_header Host $host; proxy_set_header My-Real-Ip $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; } location @fallback { proxy_pass http://127.0.0.1:81;proxy_redirect off;proxy_set_header Host $host; proxy_set_header My-Real-Ip $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; } ================================================ ================================================ ==============http============================== ServerTokens Prod ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 310 KeepAlive On MaxKeepAliveRequests 256 KeepAliveTimeout 25 <IfModule prefork.c> StartServers 16 MinSpareServers 10 MaxSpareServers 100 ServerLimit 4096 MaxClients 4096 MaxRequestsPerChild 10000 </IfModule> <IfModule worker.c> StartServers 8 MaxClients 800 MinSpareThreads 50 MaxSpareThreads 125 ThreadsPerChild 50 MaxRequestsPerChild 0 </IfModule> LimitRequestFieldSize 16384 Listen 127.0.0.1:81 LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule substitute_module modules/mod_substitute.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule cgi_module modules/mod_cgi.so LoadModule version_module modules/mod_version.so LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname Off RPAFproxy_ips 127.0.0.1 99.99.99.255 RPAFheader My-Real-Ip Include conf.d/*.conf User apache Group apache ServerAdmin root@localhost UseCanonicalName Off DocumentRoot "/var/www/html" <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <IfModule mod_userdir.c> UserDir disabled </IfModule> DirectoryIndex index.html index.html.var AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> TypesConfig /etc/mime.types DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule> HostnameLookups Off EnableSendfile on LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent ServerSignature Off <IfModule mod_dav_fs.c> # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdb </IfModule> <Directory "/var/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif ReadmeName README.html HeaderName HEADER.html IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
заблуждение, что мелочь 🤪
Бабла у мягких много, год 2013 они прошли на подъеме, в том числе и в Бинге. Если посмотреть, то Бинг + Яху (использует поиск Бинга) занимают примерно половину от поиска Гугла - в США - платежеспособного трафика :).
А это ну никак не мелочь. ☝