質問: お世話になっております。 現在社用の専用サーバを借りて、仮想サイトを20ほど運営しています。 今回サイトの特性によってサーバを分割する話が出ております。 現状で切り出したいサイトは10ほどです。 今後もある程度増えていく可能性はあります。 一つ一つのサイトはそれほどデータ量の多いものではなく、現在10サイトの合計サイズは3600MBほどです。 DBへの書込みも頻繁ではありませんが、各サイトでメールのやり取りは発生します。 今後もサイトがある程度増えるとして、どの程度のサーバを借りるのが妥当なのか見当が付きません。 大きければ大きいほうがいいのは当然なのですが、あまり大きすぎて無駄が発生するのは避けたいです。 漠然とした質問で申し訳ありませんが、最低限これぐらいあればいいんじゃない?というアドバイスなど頂けたらと思います。 よろしくお願いいたします。
回答: > > 現在10サイトの合計サイズは3600MBほどです。 > > > これはサイトを構成しているHTMLや画像ファイルを合計したファイルサイズですよね。 Webサーバーのお仕事はWebサイトに訪れたクライアントを待たせる事なく、データを投げ返す事なので負荷の管理が重要です。 ファイルサイズはほぼ無関係と考えた方が良いでしょう。 これはCPUやメモリ、使用している技術にもよります。 (ApacheよりNginxの方が効率的にアクセスを捌ける、PHPよりJavaの方が効率的にアクセスを捌ける等) この辺はエンジニアの腕にもよりますし、拡張性や開発効率を考えてあえてアクセス数を捌けない技術を選択する事もあります。 なので、今質問者さんの現状の負荷に着目した定量的なデータを出す必要があります。 公開出来ないデータと思われますし、公開しても上記の理由で他人にとってあまり価値がありません。 検討が付かないということなので、私の方でざっくりと一覧を作りました。 * CPUの性能 サーバーマシン上で`top`コマンドを入力すれば簡単にわかります(ぐぐってください) * メモリの合計容量 サーバーマシンでfreeコマンドを入力してみましょう。ただしMySQLは瞬時に回答を返す為に、メモリーをギリギリまで食う仕様なのであまり参考にはならないかと思います。 * ファイルのリード速度 HDDよりSSDの方が速いですが、気になるならベンチマークを * 使用している言語(MySQLを使用しているのであれば、動的コンテンツがあるはず)+バージョン 例:PHP5.1とPHP5.6では1.4倍ほどの性能差があります。 MySQLもマイナーバージョンが1つ増えるだけで信じられない程パフォーマンスがあがります。 * 今の20サイト合わせた秒間PV数(Google Analyticsを導入していれば話は早い) > > サーバーの選定 > > > とりあえずTOPコマンドの結果次第になると思いますが、 CPU使用率が現状のサーバーと同性能で十分か否かの分かれ目となるでしょう。 そんなに大規模ではないサイトが20個程度ならば、さくらのVPSの4GBプランあたりであれば余裕で捌けるかと思います。 さくらのVPSは老舗でバックボーンもしっかりしているので、企業ならば安心して使いやすいと思います。 もう少しお金をかけられるならAWS一択です。 GoogleやAzureもありますが、AWSは管理画面が直感的で一番扱いやすいです。 全然落ちない、管理画面で負荷状況をグラフで閲覧出来る、負荷がやばくなってきたらダウンタイムなしでサーバーを増強、弱くするのも自由自在。 なので適当にサーバーをおっ立てて、負荷全然ないじゃんって思えば下位のプランにすれば良いのです。 その分、VPS基準で3倍程の価格となりますけどね。