Ограничения нагрузки на сервер nginx и Mysql (зависят от конфигурации сервера)

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

worker_processesЧто касается Nginxдокументацияговорит следующее:

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_user_connections

Связанный контент