自分がやっているVPSでの同時アクセス対策方法7つの話
VPSでの同時アクセス対策
いろいろある対策をまとめました。
自分の環境に合う方法を実施してほしい。
※個人レベルでの話です
※ロードバランサによる複数台分散は当たり前なので省略
1、GSLBで通信負荷を分散する
GSLBを利用してネットワークの負荷を分散させる。
GSLBは登録した複数のDNSを順番に返すシステムです。
いくらでもサーバーを増やせるので、増やすほど強くなる。
回線もサーバーごと分かれるので画像にも強い。
VPSは回線が弱いので回線の増強は必須。
回線での同時アクセス対策ならGSLBがお手軽です。
関連:同時アクセスのボトルネック「ネットワーク(回線)」対策の話(VPS・レンサバ)
2、CDNを利用する
やはりCDNが最強。
CDNは無敵と考えていいので、CDNから全て配信するのが最強。
できるだけCDNから配信できるようなサイト設計にしたい。
VPSでの負荷が低くなるので、台数を抑えられ結果的に安くなることも。
画像だけでもCDNから配信すると、回線の負荷が無くなる。
回線に弱いロードバランサを使う場合はCDNが生きます。
関連:さくらVPS&Nginxで画像だけをCDNから配信する方法を解説!#さくらのウェブアクセラレータ
3、SSL処理を外部に任せるか、処理用サーバーを増やす
同時アクセス対策の最大の敵はSSL
いくらワードプレスを静的化しても、SSLの負荷からは逃げられない。
HTMLファイルの数十倍の負荷があります。
したがって、SSL処理をしてくれるサービスを利用したい。
さくらVPSの場合はさくらのクラウドの「エンハンスドロードバランサ」です。
これでSSLの処理をして、静的化するのが理想。
ただ、値段が高いのが難点。AWSとかの方が安いと思う。
安く済ませるならば、GSLBでSSL処理のサーバーを増やすのが一番。
いくらでも増やせるのでSSL負荷がボトルネックになることはないだろう。
ついでに回線増強にもなる。
関連:さくらのクラウドのエンハンスドロードバランサとGSLBの違いと選び方の話 #さくらVPS
4、ページ表示処理を軽くする
ワードプレス等の重たいシステムを使わない。
静的化できるなら良いですが、できない場合はかなりの台数での負荷分散が必要になる。
ワードプレスはDBも重いですが、PHPも重い。
こんな超重量級システムで同時アクセス対策なんて無理です。
PHPだけでメモり8MB消費です。やばいです。
ある程度プログラミングができる人ならワードプレスなんて不要。
大昔のように自作でブログシステムを作ればいい。
シンプルなシステムにするだけで、ほぼ同時アクセス対策になる。
最悪はプラグインで静的化するか、Nginxのリバースプロキシでキャッシュしよう。
関連:さくらVPS・クラウドで揃えた当ブログのサーバー構成を紹介!(リージョン間冗長・負荷分散)
5、ページ表示を速くする
同時アクセス処理数はページの表示スピードに比例する。
回線の速さ、ページの表示の速さが大事。
いくら静的化しても重たい画像をどーんと貼っているとダメです。
速く処理を終わらせないと次に移せない。
ここはGoogle PageSpeed Insightsを使えば教えてくれる。
最適な画像サイズと種類、jsを減らすなどなど。
100点で満足してはいけない。各項目の数字を限界まで下げよう。
ある程度デザインは犠牲にします。
関連:PageSpeed Insightsで100点を取ったので、ワードプレスの高速化を語りたい
6、キープアライブを調整する
TCP接続を最小限に押さえる。
一度接続すれば、接続状態のまま画像とかをダウンロードできます。
新規接続は負荷と時間がかかるので、できるだけ抑えます。
これをキープアライブと言うのですが、VPS等なら自分で設定する項目です。
何秒継続させるか?の設定が大事。
今はlazyloadで画像を次々と読み込むので、
キープアライブは長い方が良い。
ただ、長すぎるとコネクションが次々増えすぎてサーバーダウンする。
自分のサイトに合わせた調整をすると、抜群の効果。
同時アクセス対策として重要な設定項目です。
関連:NginxのKeepAlive設定と考え方まとめ(Timeout・upstream等)
7、良いサーバーを使う
最終的にはここに行き着く。
100%CDNを使うならサーバーは低性能でも良いですが、
そうでなければサーバーの性能が同時アクセス耐性に大きく関わる。
古いCPUと最新CPUでは倍以上の性能差があります。
VPSの場合は古くて低性能なCPUの場合が多い。
レンサバは競争が激しいので最新の高性能CPUを使っているところが多い。
1台だけで処理するとなると、間違いなくレンサバの方が強いです。
VPSでも会社によって2倍くらいの差があります。
同じ値段で2倍の差。これが当たり前なのがVPS。
今のところ、エックスサーバーVPSが世界最強レベル。
次にさくらVPSの石狩のCPUが良いかなと思います。
根本的な部分なので、ここはしっかり調査して契約したい。
2023年2月時点はさくらVPSの石狩が一番良いと結論。
関連:さくらVPSの石狩と東京リージョンのCPU性能差を比較してみた(解凍ベンチ)
以上です
負荷となる項目を一つ一つ対策していく。
何か一つだけやっても効果はいまいち。
それぞれできる限り何かしら対策をしておきたい。
今は本当、SSLの処理が重すぎるので難しいです。
昔のhttp時代は静的化さえすれば良かったので簡単だった。
とりあえず、CDNをいつでも使えるようにすることをおすすめします。
さくらのアクセラレータなら簡単で安いので、
事前に準備はいろいろとしておこう。
※できるだけお金をかけず対策するのが楽しいところ