Ограничения нагрузки на сервер 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.

Если вы еще не ознакомились, вот соответствующие документы:

max_connections / max_user_connections

Другие вопросы по тегам