CPU
CPUのリソース消費は、圧縮、ロックなしの読み取り、設計不良のプロテクションテーブルなどにより悪影響を受けます。一般的には、速度とコア数はどちらかが低ければもう一方が高い関係にあります。少なくとも2.4 GHzの8コアが推奨されます。速度が大きければ、必要なコア数が減ります。例えば、3.2GHzであれば、4コアのプロセッサでも動作します。
p4d
を実行するマシンのプロセッサおよびメモリが速いほど、p4d
コマンド実行の速度が上がる可能性があります。いくつかのコマンドの一部はリソースを取得、保持し、他のコマンドをブロックする可能性があるため、それらの部分をできるだけ速く実行することが重要です。例えば、多くのp4d
コマンドには計算フェーズがあり、その間に共有ロックが取得され、db.*
ファイルの一部に保持されます。db.\*
ファイルの共有ロックは同じdb.\*
ファイルに書き込む操作をブロックします。コマンドの計算フェーズに必要なデータがオペレーティングシステムのファイルシステムキャッシュ内にキャッシュされていた場合は、プロセッサとメモリ速度のみが計算フェーズを制限します。
ロックなしの読み取りを使用している場合は、CPUの速度はあまり重要ではありませんが、パフォーマンスの向上には役立ちます。これは、一部のリーダーはライターをブロックせず、またライターも一部のリーダーをブロックしないため、サーバへのコマンドの速度を上げることは並行処理の観点では重要ではないためです。また、Helix Coreサーバを介してより多くのコマンドを同時に実行できるようになったため、さらに多くのCPUコアを活用することができます。
サイトのプロテクションテーブルおよびクライアントビューの複雑さは、CPU要件に影響します。top
(LinuxまたはUnix上)やperfmon
(Windows上)などのOSユーティリティを使用してCPU稼働率を監視できます。処理速度の速いプロセッサが既に使用されている、CPU使用率の高いp4d
の実行環境の場合、プロセッサの処理速度を保つには、プロッセッサの数を増やしたり、コア数の多いプロセッサを使用したりしなければならないことがあります。
クライアントサーバ接続にSSLを使用している場合は、AES命令セットをサポートするCPUを選択してください。Helixサーバは通常SSL接続の暗号化にAES-256を使用します。そのため、AESをサポートするCPUを使用することで暗号化のオーバーヘッドを最小限にすることができます。これにより、ほとんどのCPUでパフォーマンスの低下を防ぐことができます。
一部のプロセッサおよびオペレーティングシステムは動的周波数スケーリングをサポートしているため、プロセッサはプロセッサの電圧とコア周波数を動的に調整して消費電力を変更できます。プロセッサに対する要求の量が増えるにつれて、電圧とコア周波数は上昇します。プロセッサが最大速度に達するまで、p4d
のパフォーマンスは影響を受ける可能性があります。動的周波数スケーリング機能の節電機能はモバイルコンピュータにおいては便利ですが、p4d
を実行するマシンへの適用はお勧めしません。
動的周波数スケーリングを以下に示します。
- Intel SpeedStep - 一部のXeonプロセッサ上で使用可能です。一般的にモバイルコンピュータ上で使用できます。
- AMD PowerNow! - 多くのAMDプロセッサ上で使用可能です。サーバレベルプロセッサを含みます。
Linux、Windows、Mac OS Xプラットフォームでは、両方の機能がサポートされています(また、一部のSuSEディストリビューションではデフォルトで有効になっています)。p4d
を実行するマシンでこの機能が有効になっている場合は、無効化することをお勧めします。SuSEのような一部のLinuxディストリビューションでは、この機能は「パワーセーブ」サービスを「オフ」に設定することで無効化できます。
コンピュータ上でプロセッサの現在の速度を確認することができます。Linux上では、それぞれのコアの速度はcat
/proc/cpuinfo
OSコマンドによって出力される、「cpu MHz」の行に表示されます。