Ну, как все ставить рассказывать себе не надо, поэтому сразу к настроечке.
Начну с mysql
Итак, для начала надо увеличить кеш для mysql, иначе он будет часто вылетать с cant-connect с 11 ошибкой, что означает невозможность блокировки сокета:
my.cnf
skip-locking
wait_timeout=60
connect_timeout=10
interactive_timeout=120
join_buffer_size=1M
query_cache_size=128M
query_cache_limit=2M
max_allowed_packet=16M
table_cache=1024
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=4M
key_buffer = 256M
key_buffer_size=64M
myisam_sort_buffer_size = 8M
max_connections = 10000
open_files_limit = 100000
thread_cache_size = 1024M
Также в мускуле желательно выполнить sql-запрос:
set global max_connections = 500;
Дальше, чтобы при добуя открытых файлах ничего не зависало, ожидая, пока дадут доступ на юзанье тех или и иных файлов:
/etc/security/limits.conf
* soft nofile 65525
* hard nofile 100000
Дальше, надо в целом увеличить лимиты в системе:
/etc/sysctl.conf (взял у лисяры, помогло :))
kern.ipc.nmbclusters=65536
worker_processes 8;
kern.ipc.somaxconn=32768
kern.ipc.maxsockets=204800
kern.maxfiles=256000
kern.maxfilesperproc=230400
Дальше лезем в конфиг nginx:
worker_rlimit_nofile 51200;
worker_priority -5;
events {
worker_connections 4096;
use epoll;
}
Дальше лезем в конфиг php-fpm:
<value name="max_requests">4096</value>
<value name="max_children">100</value>
естесно это по секциям там..
Еще, надо не забыть проверить права на /var/lib/php/session
(C) ZonD80