計算
1日100万ページビュー
1日20時間アクセス
1,000,000(PV数) / 20(時間) = 50,000(ページビュー数/時間)
1時間に50,000PVアクセスがある。
Apacheの設定がKeepAlive Onの場合は数秒間接続が維持される為
仮に2秒とすると秒間ページビューが2秒間は重複する
webページってcssとかjsとか画像とか1ページ読み込むだけでたくさん通信してるし、ECサイトなんかだと購入途中でつながりにくくなるのも嫌だからやっぱりある程度接続しててもらったほうがいいんじゃない?実際にお店で買い物をした場合で例えてみよう。
大行列の10人はいるお店で何かものを買おうとしたとき、商品を手にするたびに最後尾から並びなおすということがおきたらどうだろう?買う気失せますね(笑)そこで一時的にコネクションを維持しといてあげるよっていうのがKeepAliveだ。
apache KeepAlive
1時間 = 3600秒
50,000(時) / 3600(秒) * 2(keep秒) =27.77(1秒につきの同時PV数)
1回のプロセスで30MBの場合
30 * 27.7 = 831MB(秒) *同時接続を前提
上記で秒毎の同時アクセス数が計算できる。
ところで、Apacheの設定が KeepAlive Off の場合、1ページビューは1接続ではありませんので要注意です。
ページを構成する画像 jpg,gif,png や css, js のリンクの数だけ、もしアフェリエイト広告や外部リンクの埋め込みがあればその総数だけApacheへリクエスト数(=接続数=プロセス数)が発生します。
Webサイトのアクセス数増加と必要メモリ
キャッシュには 2 種類があり、cache で示されるページキャッシュと buff で示されるバッファキャッシュが存在します。 ページキャッシュはファイルシステムに対するキャッシュであり、ファイル単位でアクセスするときに使用されるキャッシュです。
例えば、ファイルへデータを書き込んだときは、ページキャッシュにデータが残されるため、次回の読み込み時には HDD にアクセスすることなくデータを利用できます。 もうひとつのバッファキャッシュはブロックデバイスを直接アクセスするときに使用されるキャッシュです。
メモリとキャッシュ
*間違いや本来はこういう考え方だよ等あればコメントを頂けると幸いです。