私のサーバー構成は
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
MySQLのmax_connections
値に関しては、ピーク時に同時にMySQLで必要な接続数を把握するようにしてください。たとえば、アプリケーションがPHPで実行され、32個のPHPワーカープロセスがあり、PHPがアクセスする唯一のアプリケーションである場合MySQL、MySQLでは32を超える接続は必要ないと想定するのがおそらく安全です。また、接続ごとに多数のバッファを割り当てる必要があるため、この値を高く設定しすぎないようにします。 max_connections
値が高すぎると、メモリがなくなるまでMySQLへの接続を作成して、MySQLを強制終了するリスクがあります。
max_user_connections
は、MySQLサーバー全体のグローバル値ではなく、MySQLユーザーベースごとに基本的に同じものです。
まだご覧になっていない方のために、関連するドキュメントを以下に示します。