過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus) |
過負荷に耐えるための濃い技術書というよりも、こういったシステムをどのように構築していくのかシステム開発をする会社や技術者の視点から考えていくことをわかりやすく説明した1冊に仕上がっています。全体を通してはプログラミングの内容よりも、インフラよりの内容が中心です。挿絵が「小悪魔女子大生のサーバエンジニア日記」のaico氏が書かれているのも本書が親しみやすくまとまっている理由だと感じました。
会社でウェブシステムの開発にあまり携わった経験のない新人やIT関係の技術職に就職しようと思っている学生、インターンをやっているような人達は、本書の生々しい話しがとても勉強になるのではないかと感じます。
- システムの要件を整理していく過程
- どういった手順でシステムが構築されていくのか
- システムの性能を検証するためにどういったことを実施するのか
- システムをどのように監視するのか
- システムをどのように運用するのか、問題発生時の対応は?
このようなことを教科書的に書かれているのではなく、実際にある企業がどのように考えて実施しているのかわかるのは、本書の良い所です。
本書に書かれているようなfaviconを消したり、返すデータを1KB削減するだけで、どれだけパフォーマンスが変わるかなどは、実際に携帯電話向けにシステムを構築して運用した経験のある人にはあたりまえの内容です。経験がない人からすれば、そんなに変わるものなのか。と感じる面もあるかと思います。
技術的なことについては、本システムはVarnish, Jetty, VoltDBという構成です。個別のソフトウェアについては簡単に解説されています。全体として、最新のソフトウェアや最新のテクノロジを使っているのではなく、枯れた技術を活かした印象でした。
本書の表紙には「毎秒1万アクセス」と書かれています。システム構築をする段階でそれぐらいのパフォーマンスに耐えられるようにつくっていることを本書では解説しています。ですが、実際に毎秒1万アクセスされたシステムではないようです。
総投票数は116万6,145票, そのうちCD投票券による投票数は77万9,090票でした。つまり, 投票受付期間のCD投票券の平均投票数は0.592914764票…。平均値だけをとれば, 毎秒1万投票どころか, 毎秒1投票未満。毎秒1万投票とは, 結果的に1686583%の性能だったことになります。
AKB総選挙って、そんなにすごかったのか!と思って本書を予約購入しましたが…。それでも、ピーク時はそれなりの処理数を行っているのではないかと憶測します。
過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus) |
小悪魔女子大生のサーバエンジニア日記 ――インターネットやサーバのしくみが楽しくわかる aico, 株式会社ディレクターズ, 村井 純 |