Re: MySQL падает
Posted: Thu Nov 06, 2014 4:49 pm
)))
Code: Select all
/usr/local/vesta/nginx/conf
Code: Select all
/etc/nginx/nginx.conf
/home/$user/conf/web/nginx.conf
/etc/nginx/conf.d
Спасибо. Все получилось... )))Visioner wrote:Победил ошибку c Mysql при зажатом F5
При частом рефреше страницы nginx все запросы передает Apache, а апач на каждый новый запрос создает новый процесс, так как работает в режиме Prefork, соответственно каждый новый процесс съедает часть памяти, но кроме того, эти процессы начинают выполняться, в результате количество запросов к Mysql превышает число max_user_connections.
Для того, чтобы запретить nginx передавать в апач множественные запросы от отдного пользователя нужно файле /etc/nginx/nginx.conf в секции http прописать
limit_req_zone $binary_remote_addr zone=dyn:10m rate=10r/s;
Эта директива ограничивает количество запросов от одного клиента до 10 запросов в секунду
И в файле /home/username/conf/web/nginx.conf
во-первых выносим обработку статики отдельно:
location ~* ^.+\.(jpg|jpeg|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|exe|pdf|doc|xls|ppt|txt|odt|ods|odp|odf|tar|bmp|rtf|js|mp3|avi|mpeg|flv|html|htm)$ {
root /home/UserName/web/site.com/public_html;
access_log /var/log/httpd/domains/site.com.log combined;
access_log /var/log/httpd/domains/site.com.bytes bytes;
expires max;
try_files $uri @fallback;
}
А в данных передающихся апачу дописываем вызов директивы limit_req
location / {
limit_req zone=dyn burst=10;
proxy_pass http://ip:8080;
}
это позволит ограничить до 10 одновременных запросов к апачу от одного клиента, при привышении nginx будет отдавать для этого клиента ошибку 503, работа других клиентов нарушена не будет.
При желании 503 ошибку можно завернуть так, что клиент ее не увидит.
Тестировалось у DigitalOcean на сервере с 512Mb.
Vesta тут не причем. Проще же конечно на панель всё свалитьБлин это vesta все, и систему грузит, Apache2, mysql, вообще не оптимизированная, это так. Приходиться всякую ерунду пихать в системные фалы, потом в других местах ошибки всплывают.
Что мешает убрать эти настройки?Я же знаю что из-за этих настроек так, раньше 503 не было никогда.
Так оптимизируйте в соответствии с вашими требованиями. Попробуте шаблоны поменять для apache и(или) nginxApache2, mysql, вообще не оптимизированная