Nginx , Apache , Mysql , Memcache with server 4G ram. How optimize to enoigh of memory?
- by TomSawyer
i have 1 dedicated server with Nginx proxy for Apache. Memcache, mysql, 4G Ram.
These day, my visitor on my site wasn't increased, but my server get overload always in some specified time. (9AM - 15PM)
Ram in use is increased second by second to full. that's moment, my server will get overload.
i have to kill all apache , mysql service and reboot it to get free memory. and it'll full again. that's the terrible circle.
here is my ram in use at the moment 160(nginx) 220(apache) 512(memcache) 924(mysql) here's process number 4(nginx) 14(apache) 5(memcache) 20(mysql)
and here's my my.cnf config. someone can help me to optimize it?
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-locking
skip-networking
skip-name-resolve
# enable log-slow-queries
log-slow-queries = /var/log/mysql-slow-queries.log
long_query_time=3
max_connections=200
wait_timeout=64
connect_timeout = 10
interactive_timeout = 25
thread_stack = 512K
max_allowed_packet=16M
table_cache=1500
read_buffer_size=4M
join_buffer_size=4M
sort_buffer_size=4M
read_rnd_buffer_size = 4M
max_heap_table_size=256M
tmp_table_size=256M
thread_cache=256
query_cache_type=1
query_cache_limit=4M
query_cache_size=16M
thread_concurrency=8
myisam_sort_buffer_size=128M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer=256M
sort_buffer=256M
read_buffer=64M
write_buffer=64M
[myisamchk]
key_buffer=256M
sort_buffer=256M
read_buffer=64M
write_buffer=64M
[mysqlhotcopy]
interactive-timeout
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid