В настоящее время я работаю на сервере LAMP с большим количеством веб-сайтов. Я замечаю, что на случайной основе сервер отключается, потому что в Apache2 есть некоторый спящий процесс.
Они никогда не закрываются и через несколько часов или несколько дней достигают максимально допустимого технологического предела. Поэтому новые подключения не допускаются.
Вот как это выглядит:
ps aux | grep "apache2"www-data 6259 12.4 0.3 536604 53380 ? S 07:26 0:03 /usr/sbin/apache2 -k start
www-data 6261 6.1 0.3 538120 54536 ? S 07:26 0:01 /usr/sbin/apache2 -k start
pamartin 6269 0.0 0.0 12748 2168 pts/0 S+ 07:27 0:00 grep apache2
www-data 13502 0.0 0.2 529276 37256 ? S avril23 0:01 /usr/sbin/apache2 -k start
root 20093 0.0 0.2 451640 35544 ? Ss avril23 0:19 /usr/sbin/apache2 -k start
www-data 30950 0.0 0.0 542220 16036 ? S avril23 0:06 /usr/sbin/apache2 -k start
www-data 30969 0.0 0.1 537472 17336 ? S avril23 0:14 /usr/sbin/apache2 -k start
Как вы можете видеть, процессы 13502, 30950 и 30969 живы в течение нескольких часов (и никогда не будут отключены).
Когда я делаю SHOW FULL PROCESSLIST;
в MySQL я получаю точно такое же количество процессов. К сожалению, не видно ни одного запроса. Эти SQL-процессы уничтожаются по истечении времени ожидания 28800 секунд (что, однако, не уничтожает относительный процесс apache2).
Когда я делаю :
lsof -p 30950 to try to trace the process and find where this SQL con
pamartin@sd-12345:~$ sudo lsof -p 30950
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 30950 www-data cwd DIR 8,2 4096 78646280 /var/www/dickson_prod/web
apache2 30950 www-data rtd DIR 8,2 4096 2 /
apache2 30950 www-data txt REG 8,2 666552 67898205 /usr/sbin/apache2
apache2 30950 www-data mem REG 8,2 22952 45876984 /lib/x86_64-linux-gnu/libnss_dns-2.19.so
apache2 30950 www-data mem REG 8,2 1607728 67895931 /usr/lib/locale/locale-archive
apache2 30950 www-data DEL REG 0,4 2458124 /dev/zero
apache2 30950 www-data DEL REG 0,4 2481010 /dev/zero
apache2 30950 www-data mem REG 8,2 26258 67909552 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
apache2 30950 www-data DEL REG 0,4 2481008 /dev/zero
apache2 30950 www-data mem REG 8,2 4194305 1703969 /tmp/phptrace.ctrl
apache2 30950 www-data mem REG 8,2 260240 67912584 /usr/lib/x86_64-linux-gnu/libxslt.so.1.1.28
apache2 30950 www-data mem REG 8,2 87912 67904405 /usr/lib/x86_64-linux-gnu/libexslt.so.0.8.17
apache2 30950 www-data mem REG 8,2 44120 68027227 /usr/lib/php5/20131226/xsl.so
apache2 30950 www-data mem REG 8,2 60336 45877302 /lib/x86_64-linux-gnu/libbsd.so.0.7.0
apache2 30950 www-data mem REG 8,2 171800 45877051 /lib/x86_64-linux-gnu/libtinfo.so.5.9
apache2 30950 www-data mem REG 8,2 217760 67895755 /usr/lib/x86_64-linux-gnu/libedit.so.2.0.51
apache2 30950 www-data mem REG 8,2 31576 68029289 /usr/lib/php5/20131226/readline.so
apache2 30950 www-data mem REG 8,2 36168 68026380 /usr/lib/php5/20131226/pdo_mysql.so
apache2 30950 www-data mem REG 8,2 159656 68029301 /usr/lib/php5/20131226/mysqli.so
apache2 30950 www-data mem REG 8,2 3396448 67896211 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
apache2 30950 www-data mem REG 8,2 60504 68029302 /usr/lib/php5/20131226/mysql.so
apache2 30950 www-data mem REG 8,2 39392 67914654 /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
apache2 30950 www-data mem REG 8,2 183080 67914547 /usr/lib/libmcrypt.so.4.4.8
apache2 30950 www-data mem REG 8,2 52168 68027240 /usr/lib/php5/20131226/mcrypt.so
apache2 30950 www-data mem REG 8,2 43880 45877308 /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
apache2 30950 www-data mem REG 8,2 39696 68026799 /usr/lib/php5/20131226/json.so
apache2 30950 www-data mem REG 8,2 55304 67901023 /usr/lib/x86_64-linux-gnu/libicuio.so.52.1
apache2 30950 www-data mem REG 8,2 23512848 67901025 /usr/lib/x86_64-linux-gnu/libicudata.so.52.1
apache2 30950 www-data mem REG 8,2 1546256 67900971 /usr/lib/x86_64-linux-gnu/libicuuc.so.52.1
apache2 30950 www-data mem REG 8,2 2166128 67901029 /usr/lib/x86_64-linux-gnu/libicui18n.so.52.1
apache2 30950 www-data mem REG 8,2 415232 68027250 /usr/lib/php5/20131226/intl.so
apache2 30950 www-data mem REG 8,2 20648 67898870 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
apache2 30950 www-data mem REG 8,2 14544 67897644 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
apache2 30950 www-data mem REG 8,2 62376 67901701 /usr/lib/x86_64-linux-gnu/libjbig.so.0
apache2 30950 www-data mem REG 8,2 138016 67916395 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
apache2 30950 www-data mem REG 8,2 483624 67905418 /usr/lib/x86_64-linux-gnu/libtiff.so.5.2.0
apache2 30950 www-data mem REG 8,2 248824 67912870 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.8.0
apache2 30950 www-data mem REG 8,2 696008 67904276 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
apache2 30950 www-data mem REG 8,2 1776592 67897991 /usr/lib/x86_64-linux-gnu/libvpx.so.1.3.0
apache2 30950 www-data mem REG 8,2 289464 67915039 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.1.0
apache2 30950 www-data mem REG 8,2 158616 45877126 /lib/x86_64-linux-gnu/libpng12.so.0.50.0
apache2 30950 www-data mem REG 8,2 72904 67903734 /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
apache2 30950 www-data mem REG 8,2 1319088 67905847 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
apache2 30950 www-data mem REG 8,2 422120 67907938 /usr/lib/x86_64-linux-gnu/libgd.so.3.0.0
apache2 30950 www-data mem REG 8,2 114200 68032726 /usr/lib/php5/20131226/gd.so
apache2 30950 www-data mem REG 8,2 72136 45877250 /lib/x86_64-linux-gnu/libgpg-error.so.0.13.0
apache2 30950 www-data mem REG 8,2 920000 45877121 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.3
apache2 30950 www-data mem REG 8,2 167112 67912585 /usr/lib/x86_64-linux-gnu/libssh2.so.1.0.1
apache2 30950 www-data mem REG 8,2 118072 67901819 /usr/lib/x86_64-linux-gnu/librtmp.so.1
apache2 30950 www-data mem REG 8,2 211344 67898186 /usr/lib/x86_64-linux-gnu/libidn.so.11.6.12
apache2 30950 www-data mem REG 8,2 473504 67901513 /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
apache2 30950 www-data mem REG 8,2 93336 68026897 /usr/lib/php5/20131226/curl.so
apache2 30950 www-data mem REG 8,2 104040 68029766 /usr/lib/php5/20131226/apcu.so
apache2 30950 www-data mem REG 8,2 118344 68032745 /usr/lib/php5/20131226/pdo.so
apache2 30950 www-data mem REG 8,2 163304 68037163 /usr/lib/php5/20131226/trace.so
apache2 30950 www-data mem REG 8,2 865166 68027500 /usr/lib/php5/20131226/xdebug.so
apache2 30950 www-data mem REG 8,2 160344 68029777 /usr/lib/php5/20131226/opcache.so
apache2 30950 www-data mem REG 8,2 47712 45876985 /lib/x86_64-linux-gnu/libnss_files-2.19.so
apache2 30950 www-data mem REG 8,2 43592 45876987 /lib/x86_64-linux-gnu/libnss_nis-2.19.so
apache2 30950 www-data mem REG 8,2 31632 45876980 /lib/x86_64-linux-gnu/libnss_compat-2.19.so
apache2 30950 www-data mem REG 8,2 22568 68026921 /usr/lib/apache2/modules/mod_status.so
apache2 30950 www-data mem REG 8,2 211440 68032338 /usr/lib/apache2/modules/mod_ssl.so
apache2 30950 www-data mem REG 8,2 26672 68027031 /usr/lib/apache2/modules/mod_socache_shmcb.so
apache2 30950 www-data mem REG 8,2 14376 68028393 /usr/lib/apache2/modules/mod_setenvif.so
apache2 30950 www-data mem REG 8,2 67624 68032329 /usr/lib/apache2/modules/mod_rewrite.so
apache2 30950 www-data mem REG 8,2 14384 68032685 /usr/lib/apache2/modules/mod_reqtimeout.so
apache2 30950 www-data mem REG 8,2 14256 45877370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
apache2 30950 www-data mem REG 8,2 48088 67897230 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
apache2 30950 www-data mem REG 8,2 141752 45877278 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
apache2 30950 www-data mem REG 8,2 90096 45877024 /lib/x86_64-linux-gnu/libgcc_s.so.1
apache2 30950 www-data mem REG 8,2 14640 45876854 /lib/x86_64-linux-gnu/libcom_err.so.2.1
apache2 30950 www-data mem REG 8,2 195400 67896036 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
apache2 30950 www-data mem REG 8,2 867776 67896911 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
apache2 30950 www-data mem REG 8,2 306072 67896149 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
apache2 30950 www-data mem REG 8,2 1465816 67898084 /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1
apache2 30950 www-data mem REG 8,2 89104 45876969 /lib/x86_64-linux-gnu/libnsl-2.19.so
apache2 30950 www-data mem REG 8,2 1051056 45876959 /lib/x86_64-linux-gnu/libm-2.19.so
apache2 30950 www-data mem REG 8,2 66856 45877304 /lib/x86_64-linux-gnu/libbz2.so.1.0.4
apache2 30950 www-data mem REG 8,2 316112 67902065 /usr/lib/libqdbm.so.14.14.0
apache2 30950 www-data mem REG 8,2 395176 67902089 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
apache2 30950 www-data mem REG 8,2 2070912 67902084 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
apache2 30950 www-data mem REG 8,2 1008120 67895536 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
apache2 30950 www-data mem REG 8,2 430936 67896128 /usr/lib/x86_64-linux-gnu/libonig.so.2.0.1
apache2 30950 www-data mem REG 8,2 9926688 68029772 /usr/lib/apache2/modules/libphp5.so
apache2 30950 www-data mem REG 8,2 34864 68032684 /usr/lib/apache2/modules/mod_negotiation.so
apache2 30950 www-data mem REG 8,2 34864 68026999 /usr/lib/apache2/modules/mod_mpm_prefork.so
apache2 30950 www-data mem REG 8,2 22568 68032334 /usr/lib/apache2/modules/mod_mime.so
apache2 30950 www-data mem REG 8,2 22568 68026709 /usr/lib/apache2/modules/mod_headers.so
apache2 30950 www-data mem REG 8,2 18472 68028362 /usr/lib/apache2/modules/mod_filter.so
apache2 30950 www-data mem REG 8,2 93784 68027676 /usr/lib/apache2/modules/mod_fastcgi.so
apache2 30950 www-data mem REG 8,2 10280 68032331 /usr/lib/apache2/modules/mod_env.so
apache2 30950 www-data mem REG 8,2 14376 68026711 /usr/lib/apache2/modules/mod_dir.so
apache2 30950 www-data mem REG 8,2 38952 68028363 /usr/lib/apache2/modules/mod_deflate.so
apache2 30950 www-data mem REG 8,2 189896 68026754 /usr/lib/apache2/modules/mod_dav_svn.so
apache2 30950 www-data mem REG 8,2 100392 68028383 /usr/lib/apache2/modules/mod_dav.so
apache2 30950 www-data mem REG 8,2 26664 68026997 /usr/lib/apache2/modules/mod_cgi.so
apache2 30950 www-data mem REG 8,2 38960 68026916 /usr/lib/apache2/modules/mod_autoindex.so
apache2 30950 www-data mem REG 8,2 10288 68028374 /usr/lib/apache2/modules/mod_authz_user.so
apache2 30950 www-data mem REG 8,2 35152 67897089 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.2
apache2 30950 www-data mem REG 8,2 537248 67895839 /usr/lib/x86_64-linux-gnu/libgmp.so.10.2.0
apache2 30950 www-data mem REG 8,2 191968 67895506 /usr/lib/x86_64-linux-gnu/libhogweed.so.2.5
apache2 30950 www-data mem REG 8,2 203520 67902251 /usr/lib/x86_64-linux-gnu/libnettle.so.4.7
apache2 30950 www-data mem REG 8,2 80384 67896969 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.3.2
apache2 30950 www-data mem REG 8,2 285104 67903743 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
apache2 30950 www-data mem REG 8,2 1840496 67897949 /usr/lib/x86_64-linux-gnu/libdb-5.3.so
apache2 30950 www-data mem REG 8,2 1173320 67902243 /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28.41.0
apache2 30950 www-data mem REG 8,2 113520 67895588 /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
apache2 30950 www-data mem REG 8,2 84856 45876994 /lib/x86_64-linux-gnu/libresolv-2.19.so
apache2 30950 www-data mem REG 8,2 10296 67903512 /usr/lib/x86_64-linux-gnu/libsvn_fs_util-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 202200 67903520 /usr/lib/x86_64-linux-gnu/libsvn_fs_base-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 226968 67903517 /usr/lib/x86_64-linux-gnu/libsvn_fs_fs-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 820792 67903367 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
apache2 30950 www-data mem REG 8,2 109144 45877234 /lib/x86_64-linux-gnu/libz.so.1.2.8
apache2 30950 www-data mem REG 8,2 59576 67896000 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.3
apache2 30950 www-data mem REG 8,2 327088 67896005 /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.3
apache2 30950 www-data mem REG 8,2 80984 67903515 /usr/lib/x86_64-linux-gnu/libsvn_delta-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 43864 67903519 /usr/lib/x86_64-linux-gnu/libsvn_fs-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 516360 67903521 /usr/lib/x86_64-linux-gnu/libsvn_subr-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 218008 67903523 /usr/lib/x86_64-linux-gnu/libsvn_repos-1.so.1.0.0
apache2 30950 www-data mem REG 8,2 23096 68029155 /usr/lib/apache2/modules/mod_authz_svn.so
apache2 30950 www-data mem REG 8,2 10288 68032357 /usr/lib/apache2/modules/mod_authz_host.so
apache2 30950 www-data mem REG 8,2 14384 68032341 /usr/lib/apache2/modules/mod_authz_groupfile.so
apache2 30950 www-data mem REG 8,2 26672 68026786 /usr/lib/apache2/modules/mod_authz_core.so
apache2 30950 www-data mem REG 8,2 10288 68032354 /usr/lib/apache2/modules/mod_authn_file.so
apache2 30950 www-data mem REG 8,2 14384 68028396 /usr/lib/apache2/modules/mod_authn_core.so
apache2 30950 www-data mem REG 8,2 14384 68028406 /usr/lib/apache2/modules/mod_auth_basic.so
apache2 30950 www-data mem REG 8,2 18472 68028378 /usr/lib/apache2/modules/mod_alias.so
apache2 30950 www-data mem REG 8,2 10288 68026677 /usr/lib/apache2/modules/mod_access_compat.so
apache2 30950 www-data mem REG 8,2 165856 45877111 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
apache2 30950 www-data mem REG 8,2 14664 45876957 /lib/x86_64-linux-gnu/libdl-2.19.so
apache2 30950 www-data mem REG 8,2 35176 45876956 /lib/x86_64-linux-gnu/libcrypt-2.19.so
apache2 30950 www-data mem REG 8,2 31784 45876997 /lib/x86_64-linux-gnu/librt-2.19.so
apache2 30950 www-data mem REG 8,2 18904 45877328 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
apache2 30950 www-data mem REG 8,2 1738176 45876914 /lib/x86_64-linux-gnu/libc-2.19.so
apache2 30950 www-data mem REG 8,2 137384 45876871 /lib/x86_64-linux-gnu/libpthread-2.19.so
apache2 30950 www-data mem REG 8,2 218664 67895636 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.1
apache2 30950 www-data mem REG 8,2 168640 67903580 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
apache2 30950 www-data mem REG 8,2 448440 45877238 /lib/x86_64-linux-gnu/libpcre.so.3.13.1
apache2 30950 www-data mem REG 8,2 140928 45876897 /lib/x86_64-linux-gnu/ld-2.19.so
apache2 30950 www-data DEL REG 0,4 2481011 /dev/zero
apache2 30950 www-data 0r CHR 1,3 0t0 1028 /dev/null
apache2 30950 www-data 1w CHR 1,3 0t0 1028 /dev/null
apache2 30950 www-data 2w REG 8,2 31047 77596206 /var/log/apache2/error.log.1
apache2 30950 www-data 3u sock 0,7 0t0 2453074 can't identify protocol
apache2 30950 www-data 5r FIFO 0,8 0t0 2481006 pipe
apache2 30950 www-data 6u sock 0,7 0t0 2453078 can't identify protocol
apache2 30950 www-data 8w FIFO 0,8 0t0 2481006 pipe
apache2 30950 www-data 9r CHR 1,9 0t0 1033 /dev/urandom
apache2 30950 www-data 10w REG 8,2 335 77596482 /var/log/apache2/[all log files are there ~46 rows]
apache2 30950 www-data 57ur REG 8,2 0 1704159 /tmp/.ZendSem.FfQzcu (deleted)
apache2 30950 www-data 58w FIFO 0,8 0t0 2481007 pipe
apache2 30950 www-data 59u 0000 0,9 0 6846 anon_inode
apache2 30950 www-data 60u sock 0,7 0t0 2652584 can't identify protocol
apache2 30950 www-data 61u unix 0xffff880029f66440 0t0 2652585 socket
apache2 30950 www-data 62uW REG 8,2 0 79325466 /var/lib/php5/sessions/sess_qtsqm4tttfgv205so56n0jbkf7
apache2 30950 www-data 63u IPv4 2650081 0t0 TCP 195-xxx-xxx-xxx.rev.poneytelecom.eu:48634->195-xxx-xxx-xxx.rev.poneytelecom.eu:http (ESTABLISHED)
Так что в /var/www/dickson_prod/web
? Index.php старого Symfony 1.4, запущенного в prod без других этапов.
Я попытался отследить PHP более точно так:
<?php
ini_set('xdebug.auto_trace', 'On');
ini_set('xdebug.trace_output_dir', '/var/www/dickson_prod/web/strace_log/');
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();
file_put_contents('/strace_log/'.getmypid().'-'.date('Ymd'), debug_backtrace(), FILE_APPEND);
Но я не получаю ни одной вещи. На данный момент, я понятия не имею, почему этот процесс застрял, почему он настолько случайный или как я могу получить больше информации о том, где процесс застрял.
Я, конечно, проверяю логи, но ничего интересного. Я не верю, что процесс ошибочен, и на сервере слишком много трафика, чтобы я мог найти точный запрос, который не сработал.
strace
ничего не делает, так как процесс ничего не делает …
Вопрос: как я могу найти ГДЕ и ПОЧЕМУ эти процессы всегда остаются спящими?
Любая помощь будет с благодарностью, прежде чем я установил cron для регулярного перезапуска apache2 …
Большое спасибо !
Задача ещё не решена.
Других решений пока нет …