パフォーマンス・性能に関しての計算方法
パフォーマンスを保つにはどのくらいのサーバ性能が必要でしょうか?
パフォーマンスに関しては、ページの設定やデータ量など様々な要因がありますので、一概には言うことができません。
ただし、サーバの性能に対して、どのくらいのPVを捌けそうかを簡単に概算することはできます。
注意)
・以下の計算式は性能を保証するものではありません。
・SaaSスタンダードプランやCDNを利用する場合はPV数での課金になりますので、以下の計算は必要ありません。
まず、ディスクI/Oの影響を省きたいので、ディスクはSSDでNFS利用はしていない前提とします。
また、CPUはXeonなどある程度のスペックを持っているものを利用しているとします。
Ajaxなど1PVで複数のリクエストを発生するものは利用していない。
その場合、RCMSはほぼCPUのスレッド数に影響を受けますので、WEBサーバで1スレッド、DBサーバで1スレッド利用すると仮定して、
以下のように計算をします。
(CPUスレッド数の合計 - サーバ台数) / ページの平均レスポンス秒 / 2
例1)サーバ1台(WEB/DB同居)
1台のCPUスレッド数:4
ページの平均レスポンス:0.5秒
(4-1) / 0.5 / 2 = 3PV/秒はこの構成で捌けそうです。
例2)サーバ2台(WEB・DB別)
1台のCPUスレッド数:4
ページの平均レスポンス:0.5秒
(8-2) / 0.5 /2 = 6PV/秒ですが、WEBサーバの性能に引っ張られて、5PV/秒程度かもしれません。
例3)サーバ1台(WEB/DB同居)
1台のCPUスレッド数:4
ページの平均レスポンス:0.15秒 (キャッシュ利用時)
(4-1) / 0.15 / 2 =10PV/秒はこの構成で捌けそうです。
通常のメディアサイトなどであれば、RCMSは特性として、WEBサーバ(PHPの実行)の方がCPUを消費しますので、サーバを増強していく場合にはWEBサーバの方を優先して増強することになります。
同じサーバ構成でもRCMSではキャッシュ機能とCDN利用機能がありますので、こちらを利用すると格段に性能があがります。
キャッシュ機能であれば、ページの平均レスポンス:0.1~0.2秒程度になります。
こちらも是非、ご検討ください。