Ограничения нагрузки на сервер nginx и Mysql (зависят от конфигурации сервера)
Моя конфигурация сервера
Technology: Ivy Bridge
Processor: Intel Xeon E3 1245v2
Intel Smart Cache: 8MB
Cores: 4
Threads: 8
Frequency: 3.4GHz+
Turbo Boost: 3.8GHz
Virtualization: yes
RAM : 32 GB DDR3
Hard drive: Intel SSD 2 x 120GB
RAID: SOFT - 0/1
(RAID-1 by default)
NIC: GigaEthernet
Bandwidth: 200 Mbps guaranteed
Version: Parallels Plesk Panel v11.5.30_build115130819.13 os_CentOS 6
OS: CentOS 6.4 (Final)
Server Soft: Apache \ PHP
Теперь мне нужно знать, что я установил (установите максимальное значение, которое мой сервер воспринимает хорошо) для Nginx
worker_connections (what i set here);
worker_processes (what i set here);
MySql
set-variable=max_connections= (what i set here)
set-variable=max_user_connections= (what i set here)
Любое другое спасибо за mysql,Nginx и любую другую помощь мне, чтобы получить больше загрузочных просьб, скажите мне, что мне действительно нужна помощь просьбы помочь
1 ответ
В конце концов, все эти значения должны быть установлены в соответствии с тем, что вы собираетесь запускать на своих серверах Nginx и MySQL, поэтому не существует формулы "серебряной пули", которая отвечала бы на ваш вопрос и была правильной в каждом возможном случае использования. Тем не менее я попытался собрать некоторые данные, которые могут привести вас к ответу на ваши вопросы:
Nginx
Что касается Nginx worker_processes
документация говорит это:
If Nginx is doing CPU-intensive work such as SSL or gzipping and you have 2 or
more CPUs/cores, then you may set worker_processes to be equal to the number
of CPUs or cores.
If you are serving a lot of static files and the total size of the files is
bigger than the available memory, then you may increase worker_processes to
fully utilize disk bandwidth.
относительно worker_connections
рассмотрим эту формулу, которую я получил отсюда:
max_clients = worker_processes * worker_connections
Итак, после того как вы знаете свой worker_processes
значение, вы можете рассчитать worker_connections
на основе максимального числа одновременных клиентов, которые могут вам понадобиться.
MySQL
Учитывая max_connections
Значение на MySQL вы должны попытаться выяснить, сколько соединений вам понадобится на вашем MySQL одновременно в пиковое время. Например, если ваше приложение работает на PHP и у вас 32 рабочих процесса PHP, а PHP - единственное приложение, обращающееся к MySQL, вероятно, можно с уверенностью предположить, что вам не понадобится более 32 подключений к MySQL. Вы также не хотите устанавливать это значение слишком высоким, потому что для каждого соединения должна быть выделена целая куча буферов, поэтому, если max_connections
значение слишком велико, вы рискуете, что что-то убивает ваш MySQL, создавая подключения к нему, пока он не исчерпает память.
max_user_connections
в основном то же самое, только для каждой пользовательской базы MySQL, вместо глобального значения для всего сервера MySQL.
Если вы еще не ознакомились, вот соответствующие документы: