Я гуглил несколько дней, собрал все предложения по оптимизации и попробовал.
Мои сайты не пользуются популярностью.
Может быть около 100 посещений в день [все мои сайты вместе взятые].
У меня 512 МБ ОЗУ VPS с пакетом 1024 МБ.
Centos 5 32-bit & cPanel/WHM
Apache 2.2
MySQL 5.0
PHP 5.3.2
У меня есть 2 производственных сайта WordPressMU и 1 тестовый сайт
Я использовал образец my-medium.cnf для начала
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
skip-bdb
skip-innodb
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
#CAPitalZ
thread_cache_size=8
thread_concurrency=4
#query_cache_type=1
#query_cache_limit=1M
query_cache_size=16M
concurrent_insert=2
low_priority_updates=1
max_connections=50
tmp_table_size=16M
max_heap_table_size=16M
join_buffer_size=1M
interactive_timeout=25
wait_timeout=1000
#connect_timout=10 not able to restart mysql
max_connect_errors=10
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
skip-networking
# Disable Federated by default
skip-federated
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
[mysqld_safe]
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Я отменил выбор многих модулей и перекомпилировал их с помощью EasyApache в WHM.
У меня собраны только следующие модули
Deflate
Expires
Fileprotect
Imagemap
MPM Prefork
Version [default]
EAccelerator for PHP
Bcmath
Calendar
CurlSSL [I'm using Curl. But I don't have any https sites]
Expat
GD [for image cropping]
Gettext
Imap
Mbregex [default]
Mbstring [need both Mbregex and Mbstring for utf-8]
Mysql of the system
MySQL "Improved" extension.
Sockets
TTF (FreeType) [I'm using custom font]
Zlib
В глобальной конфигурации
I only have FollowSymLinks enabled
I Have TraceEnable, ServerSignature, FileETag OFF
ServerTokens ProductOnly
DirectoryIndex Priority has index.php as the first one
Я удалил Clamd [Антивирус Clam]
SpamAssasin отключен
В настройках настройки
Default catch-all/default address behavior for new accounts. This is set to "fail"
All stats programs turned off
У меня есть eAccelerator установлен и проверен в phpinfo, и его работа
[Pre VirtualHost Include under WHM]
Timeout 20
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
MinSpareServers 1
MaxSpareServers 3
StartServers 1
ServerLimit 50
MaxClients 50
MaxRequestsPerChild 4000
ExtendedStatus Off
#ServerType standalone this throws error
HostnameLookups Off
<Directory "/">
AllowOverride None
</Directory>
Мои сайты загружаются долго, а WHM / CPanel даже не загружается .
adadaa.com/
adadaa.net/
kadais.ca/
Мой средний объем памяти составляет около 1000 МБ! [да, всегда разрывается]
Процесс, который потребляет больше всего ресурсов ЦП, а также большую часть памяти, - это mysql
Но я также получаю около 15 процессов httpd [когда он разрывается]
{ {1}} Я уже получил предупреждение от cpuwatchcheck:
«Во время обработки процессор был
загружен до максимума более чем на 6 часов. Текущая строка нагрузки / времени безотказной работы на сервер на момент отправки этого письма
07:00:37 до 11:30, 0 пользователей, средняя нагрузка: 14,64, 16,79, 20,07 "
Я не знаю, я пробовал переключить эти конфигурации значения много раз, но, похоже, ничего не работает.
Пожалуйста, покажите немного света ...Спасибо
Вот список процессов mysql, когда RAM составляет 800MB
Вот текущие запущенные процессы из WHM, когда RAM составляет около 800 MB
Pid Name File Current Directory Command Line ▾
11758 (httpd)
24235 (mysqld_safe) /bin/bash / /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/us.adadaa.org.pid
32254 (udevd) /sbin/udevd / /sbin/udevd -d
3591 (simpleps) /usr/local/bin/perl /usr/local/cpanel/whostmgr/docroot /usr/bin/perl /scripts/simpleps --html
1393 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
2005 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
2012 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
3399 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
3420 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
3472 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
3493 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
3494 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
3872 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
7418 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
9482 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
9900 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
13466 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
13656 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
13736 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
14226 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15579 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15623 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15685 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15808 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15814 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
15919 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
16156 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
17526 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
17848 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
18159 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
19821 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
19830 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
19962 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
19980 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
19981 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
20378 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
21595 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
22513 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
23960 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
23965 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
25862 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
26305 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
26339 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
26472 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
27890 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
28600 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
29712 (httpd) /usr/local/apache/bin/httpd / /usr/local/apache/bin/httpd -k start -DSSL
30478 (httpd) /usr/local/apache/bin/httpd /home/ada/public_html /usr/local/apache/bin/httpd -k start -DSSL
1408 (leechprotect) /usr/local/bin/perl /usr/local/cpanel/bin /usr/local/cpanel/bin/leechprotect
1380 (dovecot) /usr/sbin/dovecot /var/run/dovecot /usr/sbin/dovecot
1368 (exim) /usr/sbin/exim /var/spool/exim /usr/sbin/exim -bd -q180m
24275 (mysqld) /usr/sbin/mysqld /var/lib/mysql /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/us.adadaa.org.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
32657 (named) /usr/sbin/named /var/named /usr/sbin/named -u named
1868 (portsentry) /usr/sbin/portsentry / /usr/sbin/portsentry -tcp
1411 (pure-authd) /usr/sbin/pure-authd / /usr/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/sbin/pureauth
1844 (saslauthd) /usr/sbin/saslauthd /var/run/saslauthd /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
1845 (saslauthd) /usr/sbin/saslauthd /var/run/saslauthd /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
11622 (sshd) /usr/sbin/sshd / /usr/sbin/sshd
1668 (cpanellogd) /usr/local/bin/perl / cpanellogd - sleeping for logs
1645 (cpsrvd-ssl) /usr/local/cpanel/cpsrvd-ssl /usr/local/cpanel/base cpsrvd - waiting for connections
1422 (crond) /usr/sbin/crond /var/spool crond
1381 (dovecot-auth) /usr/libexec/dovecot/dovecot-auth /var/run/dovecot dovecot-auth
1397 (imap-login) /usr/libexec/dovecot/imap-login /var/run/dovecot/login imap-login
1398 (imap-login) /usr/libexec/dovecot/imap-login /var/run/dovecot/login imap-login
1 (init) /sbin/init / init [3]
1395 (pop3-login) /usr/libexec/dovecot/pop3-login /var/run/dovecot/login pop3-login
1396 (pop3-login) /usr/libexec/dovecot/pop3-login /var/run/dovecot/login pop3-login
1409 (pure-ftpd) /usr/sbin/pure-ftpd / pure-ftpd (SERVER)
1592 (queueprocd) /usr/local/bin/perl / queueprocd - wait to process a task
32645 (syslogd) /sbin/syslogd / syslogd -m 0
1618 (tailwatchd) /usr/local/bin/perl / tailwatchd
3589 (whostmgr) /usr/local/cpanel/whostmgr/bin/whostmgr /usr/local/cpanel/whostmgr/docroot whostmgr - simpleps ./simpleps
3520 (cpsrvd-ssl) /usr/local/cpanel/cpsrvd-ssl /usr/local/cpanel/whostmgr/docroot whostmgrd - serving 207.219.51.3
3525 (cpsrvd-ssl) /usr/local/cpanel/cpsrvd-ssl /usr/local/cpanel/whostmgr/docroot whostmgrd - serving 207.219.51.3
32690 (xinetd) /usr/sbin/xinetd / xinetd -stayalive -pidfile /var/run/xinetd.pid
================
Текущее использование ЦП при использовании ОЗУ около 800 МБ
Pid Owner Priority Cpu % Mem % ▴ Command
25862 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.6 7.5
26305 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.3 6.5
30478 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 6.2
14226 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 6.1
28600 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 6.0
24275 mysql 0 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/us.adadaa.org.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
30.6 5.8
19980 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 3.2
13656 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 2.9
15685 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
1.6 2.9
2005 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.8
20378 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.8
15579 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.8
18159 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.6 2.8
27890 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.7
22513 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.7
26339 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.4 2.7
13466 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.4 2.7
3872 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.6
15623 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.6
17526 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.5
7418 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.5
23960 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 2.5
13914 root 0 whostmgr2 - top ./top
0.2 2.5
12035 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.3 2.5
21595 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.3 2.5
13736 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.4
16156 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.4
15808 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.4
13557 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.6 2.4
3493 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.3
23965 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 2.3
9900 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.3
19962 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.2 2.3
12026 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.4 2.1
19821 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 2.0
15919 nobody 0 /usr/local/apache/bin/httpd -k start -DSSL
0.1 2.0
1393 root 0 /usr/local/apache/bin/httpd -k start -DSSL
0.0 1.0
13689 root 0 whostmgrd - serving 207.219.51.3
0.0 0.9
13898 root 0 whostmgrd - serving 207.219.51.3
0.0 0.8
1645 root 0 cpsrvd - waiting for connections
0.0 0.7
1408 root 0 /usr/local/cpanel/bin/leechprotect
0.0 0.4
32657 named 0 /usr/sbin/named -u named
0.0 0.3
1592 root 0 queueprocd - wait to process a task
0.0 0.3
13698 root 0 tailwatchd
0.0 0.3
1618 root 0 tailwatchd
0.0 0.2
1668 root 18 cpanellogd - sleeping for logs
0.0 0.1
24235 root 0 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/us.adadaa.org.pid
0.0 0.1
1422 root 0 crond
0.0 0.1
1411 root 0 /usr/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/sbin/pureauth
0.0 0.1
1409 root 0 pure-ftpd (SERVER)
0.0 0.1
1398 dovecot 0 imap-login
0.0 0.1
1397 dovecot 0 imap-login
0.0 0.1
1396 dovecot 0 pop3-login
0.0 0.1
1395 dovecot 0 pop3-login
0.0 0.1
1368 mailnull 0 /usr/sbin/exim -bd -q180m
0.0 0.1
11622 root 0 /usr/sbin/sshd
0.0 0.1
32690 root 0 xinetd -stayalive -pidfile /var/run/xinetd.pid
0.0 0.0
32645 root 0 syslogd -m 0
0.0 0.0
32254 root -4 /sbin/udevd -d
0.0 0.0
1868 root 0 /usr/sbin/portsentry -tcp
0.0 0.0
1845 root 0 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
0.0 0.0
1844 root 0 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
0.0 0.0
1381 root 0 dovecot-auth
0.0 0.0
1380 root 0 /usr/sbin/dovecot
0.0 0.0
14050 root 0 /bin/ps -ewwo pid,user,nice,pmem,pcpu,command
0.0 0.0
1 root 0 init [3]
0.0 0.0
Интересно, обнаруживается ли что-либо интересное в Ваших файлах журнала (возможно, под/var/log/httpd?
Почти похоже на перемещение вещей из .htaccess в/etc/httpd/conf файл, и это может помочь помешать апачу нащупывать каталоги .htaccess файл.
Можно ли зарегистрироваться на пути ssh или шпаклевать ли так или иначе и получить ли командный процессор, куда можно выполнить вершину?
Один концерт является небольшим объемом памяти, но я выполняю приблизительно 5 wpmu сайтов и tikiwiki сайт под 256meg с некоторым проигрыванием вокруг с PHPCake и Ruby on Rails. Я думал для отодвижений некоторых сайтов Drupal, которые я имею также, но я немного исчерпываю ресурсы на памяти.
У меня также есть кэш APC, но я использую его строго для кэширования кода и сохраняю страницу и объект, кэширующийся на диске, хотя я использую Общий Кэш W3 для своих сайтов WPMU, а не Супер Кэш, который я также нашел, чтобы быть довольно хорошим.
Я не использую панелей в своей системе VPS. Мне нравится свобода работы непосредственно в Linux. Я выполняю exim для своего почтового сервера и голубятню для pop3. Я хотел бы разбудить Python и набор кота, а также у меня есть своего рода вид объединения MVC идеи, которую я хотел бы изучить, будет ли это идеей с потенциалом или нет.
Так или иначе мои wpmu сайты являются небольшими, но мой VPS только имеет четверть того, что Ваш, по-видимому, имеет. Задумайтесь о нем, одна из первых вещей, которые я заметил при переводе в рабочее состояние системы, - то, что у меня были деточки сценария и боты спама, поражающие мой VPS, прежде чем у меня даже был он на DNS! И некоторые делали некоторые атаки перебором, таким образом, я настроил некоторое обнаружение проникновения и бросил их в брандмауэр в течение пары дней и других постоянно. Я также установил большую безопасность в веб-сайты через апача и через плагины Wordpress для отметания sql вставки и спама.
Интересно, получаете ли Вы некоторые атаки перебором, входящие через SSL с 50 апачскими открытыми строками, хотя я заметил, что Вы упомянули, что, возможно, было приблизительно 15 параллельных соединений?
Рабочая вершина, PS, vmstat, iostat, или независимо от того, что Вы имеете в наличии, смогли давать Вам общее представление о том, где узкие места. Действительно ли Ваша подкачка страниц или частота сканирования тяжелы? У Вас есть огромное количество runnables? Какова загрузка ЦП? Если бы Вы сжимаете и шифруете огромное количество вещей в секунду на лету все время, Ваша загрузка ЦП легко прошла бы стратосферу.
Или возможно одна из Ваших страниц стала популярной на Digg?Прошу прощения. Поздно, и я, вероятно, должен немного поспать, поскольку я блуждаю повсеместно, и я не знаю, совершаю ли я нападки на чем-нибудь, что могло бы дать Вам любые ценные идеи....
С наилучшими пожеланиями, Dan