Назад | Перейти на главную страницу

Ограничения нагрузки на сервер 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 и любую другую помощь, помогающую мне получить больше запросов на загрузку, скажите мне, что мне действительно нужна помощь, просьба о помощи Спасибо

В конце концов, все эти значения должны быть установлены в соответствии с тем, что вы собираетесь запускать на своих серверах 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 value в MySQL, вы должны попытаться выяснить, сколько подключений вам нужно одновременно в MySQL в пиковое время. Например, если ваше приложение работает на PHP и у вас есть 32 рабочих процесса PHP, а PHP - единственное приложение, имеющее доступ к MySQL, вероятно, можно с уверенностью предположить, что вам не понадобится более 32 соединений в MySQL. Вы также не хотите устанавливать это значение слишком высоким, потому что для каждого подключения должна быть выделена целая группа буферов, поэтому, если max_connections значение слишком велико, вы рискуете, что что-то убьет ваш MySQL, создавая подключения к нему, пока он не исчерпает память.

max_user_connections в основном то же самое, только для базы пользователей MySQL, а не для всего сервера MySQL в целом.

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

max_connections / max_user_connections