Belastungsgrenzen für nginx- und MySQL-Server (abhängig von der Serverkonfiguration)

Belastungsgrenzen für nginx- und MySQL-Server (abhängig von der Serverkonfiguration)

meine Serverkonfiguration ist

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

Jetzt muss ich wissen, was ich für Nginx einstelle (Maximalwert festlegen, der von meinem Server gut angenommen wird)

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)

Alle anderen Danke für mysql, Nginx und alle anderen helfen mir, mehr Last zu steuern, bitte sagen Sie mir, ich brauche wirklich Hilfe, bitte helfen Sie mir, danke

Antwort1

Letztendlich müssen alle diese Werte entsprechend dem eingestellt werden, was Sie auf Ihren Nginx- und MySQL-Servern ausführen möchten. Es gibt also keine Patentrezepte, die Ihre Frage beantworten und in jedem möglichen Anwendungsfall korrekt sind. Dennoch habe ich versucht, einige Daten zusammenzutragen, die Sie zur Antwort auf Ihre Fragen führen können:

Nginx

In Bezug auf Nginx worker_processesdieDokumentationsagt dies:

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.

Betrachten Sie in Bezug auf worker_connectionsdiese Formel, die ich vonHier:

max_clients = worker_processes * worker_connections

Wenn Sie Ihren worker_processesWert kennen, können Sie ihn worker_connectionsauf Grundlage der maximalen Anzahl gleichzeitiger Clients berechnen, die Sie möglicherweise bedienen müssen.

MySQL

In Bezug max_connectionsauf den MySQL-Wert sollten Sie versuchen, herauszufinden, wie viele Verbindungen Sie zu Spitzenzeiten gleichzeitig zu MySQL benötigen. Wenn Ihre Anwendung beispielsweise auf PHP läuft und Sie 32 PHP-Arbeitsprozesse haben und PHP die einzige Anwendung ist, die auf MySQL zugreift, können Sie davon ausgehen, dass Sie nicht mehr als 32 MySQL-Verbindungen benötigen. Sie sollten diesen Wert auch nicht zu hoch einstellen, da für jede Verbindung eine ganze Reihe von Puffern zugewiesen werden muss. Wenn der Wert also max_connectionszu hoch ist, gehen Sie das Risiko ein, dass etwas Ihr MySQL beendet, indem Verbindungen hergestellt werden, bis der Speicher voll ist.

max_user_connectionsist im Grunde dasselbe, nur auf Basis einzelner MySQL-Benutzer und nicht als globaler Wert für den gesamten MySQL-Server.

Falls Sie es noch nicht angesehen haben, hier sind die relevanten Dokumente:

Max_Verbindungen/Maximale Benutzerverbindungen

verwandte Informationen