Eu tenho um servidor dedicado com 1GB de memória servindo alguns sites wordpress, mas acontece ao executar testes (ab: apache benmark, com -n 100 -c 10) para alguns desses wordpress, o servidor começa a trocar e então é como morrendo ...
Então, minha pergunta é: como ajustar o apache e o mysql para esse propósito? Estou usando o mpm_worker no apache para o php5
Algum conselho sobre como ajustar os arquivos apache.conf e my.cnf?
EDITAR:
Eu estava tentando coletar mais dados para postar aqui, mas como meu servidor continua morrendo trocando, eu vou postar o que eu tenho agora:
apache2.conf
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 20
MaxSpareThreads 50
ThreadLimit 64
ThreadsPerChild 25
MaxClients 75
MaxRequestsPerChild 0
</IfModule>
my.cnf (dentro do [mysqld])
key_buffer_size = 32M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
join_buffer_size = 128K
myisam-recover = BACKUP
max_connections = 120
table_cache = 128
max_heap_table_size = 32M
tmp_table_size = 32M
table_open_cache = 128
query_cache_limit = 1M
query_cache_size = 16M
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1
expire_logs_days = 10
max_binlog_size = 100M
ps aux --sort -pcpu, -rss | cabeça -n 30
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 11558 13.0 1.9 173280 20112 ? R 13:59 0:00 /usr/lib/cgi-bin/php5
www-data 11529 14.0 3.6 190352 37192 ? R 13:59 0:00 /usr/lib/cgi-bin/php5
www-data 11528 14.0 3.7 190784 37628 ? R 13:59 0:00 /usr/lib/cgi-bin/php5
www-data 11526 16.5 3.9 192836 39580 ? R 13:59 0:00 /usr/lib/cgi-bin/php5
svn 1909 4.2 0.3 91780 3628 ? S 12:49 3:01 /usr/bin/svnserve --daemon --foreground -T -r /home/svn
mysql 7780 1.1 6.4 263812 64816 pts/1 Sl 13:43 0:11 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root 856 1.1 0.0 0 0 ? D 12:48 0:49 [md3_resync]
root 325 0.5 0.0 0 0 ? S 12:48 0:22 [md3_raid1]
www-data 1731 0.3 1.1 449516 11232 ? Sl 12:49 0:13 /usr/sbin/apache2 -k start
www-data 1732 0.2 1.0 383548 10408 ? Sl 12:49 0:12 /usr/sbin/apache2 -k start
bind 1244 0.0 1.0 125576 11096 ? Ssl 12:48 0:02 /usr/sbin/named -u bind
root 1235 0.0 0.0 3864 300 ? SNs 12:48 0:02 /usr/sbin/powernowd -q
postgres 1420 0.0 0.6 105560 6764 ? S 12:48 0:01 /usr/lib/postgresql/8.4/bin/postgres -D /var/lib/postgresql/8.4/main -c config_file=/etc/postgresql/8.4/main/postgresql.conf
danikaze 5068 0.0 0.4 24512 4112 pts/1 Ss 13:17 0:00 -bash
root 1 0.0 0.0 8356 788 ? Ss 12:48 0:00 init [2]
root 1143 0.0 0.2 41148 2636 ? Sl 12:48 0:00 /usr/sbin/monit -c /etc/monit/monitrc -s /var/lib/monit/monit.state
danikaze 2778 0.0 0.4 24632 4216 pts/0 Ss 12:49 0:00 -bash
postgres 1535 0.0 0.2 105668 2860 ? Ss 12:49 0:00 postgres: writer process
root 56 0.0 0.0 0 0 ? S 12:48 0:00 [kswapd0]
danikaze 2777 0.0 0.1 70496 1816 ? S 12:49 0:00 sshd: danikaze@pts/0
postgres 1536 0.0 0.1 105560 1584 ? Ss 12:49 0:00 postgres: wal writer process
root 2529 0.0 0.0 0 0 ? S 12:49 0:00 [flush-253:2]
root 1627 0.0 0.5 90628 5360 ? Ss 12:49 0:00 /usr/sbin/apache2 -k start
root 1689 0.0 0.0 16780 804 ? S 12:49 0:00 /usr/sbin/rotatelogs -l /home/***.com.log.%Y-%m-%d 86400
postgres 1538 0.0 0.1 77108 1516 ? Ss 12:49 0:00 postgres: stats collector process
root 968 0.0 0.0 0 0 ? S 12:48 0:00 [flush-253:1]
root 7639 0.0 0.1 13940 1484 pts/1 S 13:43 0:00 /bin/sh/usr/bin/mysqld_safe
ntp 1237 0.0 0.2 38340 2148 ? Ss 12:48 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:106
free -m
total used free shared buffers cached
Mem: 986 769 216 0 37 532
-/+ buffers/cache: 199 787
Swap: 3827 0 3827
Vou tentar obter dados novamente quando o servidor estiver trocando, mas não sei o motivo disso, mesmo que eu enfatize o servidor com ab, só coisa que consigo é uso de CPU e MEM mas sem swap agora Eu instalei o cache para wordpress ... e ainda recebo o servidor trocando e pendurado em alguns momentos: - /
Outra coisa: o servidor basicamente usa o apache + mysql, mesmo que haja também svnserver, proftpd e pgsql, eles quase não são usados.