.png)
私のサーバー設定は
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);
マイSQL
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
はドキュメンテーションこう言っています。
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 で必要な接続数を計算する必要があります。たとえば、アプリケーションが PHP で実行され、32 個の PHP ワーカー プロセスがあり、PHP が MySQL にアクセスする唯一のアプリケーションである場合、MySQL で 32 個を超える接続は必要ないと考えるのが妥当でしょう。また、この値を高く設定しすぎると、接続ごとに大量のバッファーを割り当てる必要があるため、値がmax_connections
高すぎると、メモリが不足するまで接続が作成され、何かが MySQL を強制終了するリスクを負うことになります。
max_user_connections
基本的には同じですが、MySQL サーバー全体のグローバル値ではなく、MySQL ユーザー ベースごとに異なります。
まだご覧になっていない方のために、関連ドキュメントを次に示します。