SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

注目イベント情報

ISUCON本著者が語る!ISUCONを通して学んだWebパフォーマンスチューニングのエッセンス

  • X ポスト
  • このエントリーをはてなブックマークに追加

 お題となるWebサービスを限界まで高速化を図るチューニングバトル「ISUCON」。12回目となる「ISUCON12」の本選は8月27日に開催され、698チームのなかからオンライン予選を勝ち抜いた30チームが熱い戦いを繰り広げる予定です。そのISUCONの運営に関わったことのある6名が執筆した『達人が教えるWebパフォーマンスチューニング』が2022年6月に発売されました。今回は著者6名にISUCONの面白さや勝ち抜くための極意、Webパフォーマンスの大切さを語っていただきました。

  • X ポスト
  • このエントリーをはてなブックマークに追加

ISUCON本に込められた想い

――皆さんの自己紹介と、ISUCONとの関わりについて教えてください。

藤原:藤原俊一郎(@fujiwara)です。面白法人カヤックでSREをやっています。ISUCONは初回から関わっていて、過去4回の優勝と、今年のISUCON12の出題を含めて3回の出題をするなど、12年間ずっとISUCONに関わり続けてます。

草野:草野翔(@rosylilly)です。宇宙海賊合同会社の代表と、他諸々を兼任しています。ISUCONは3回目で初めて出て、そこからずっと関わっています。ISUCON 9で優勝して、ISUCON4と10で出題を担当しました。ISUCONのベンチマーカーが好きなので、みんながISUCONのベンチマーカーを書いてくれると嬉しいなと思ってます。

長野:長野雅広(@kazeburo)です。さくらインターネット株式会社でさくらのクラウドなどのサービスのSREをしています。今回のISUCON12では予選落ちでしたが、ISUCONの創設に関わり初回、第2回と問題作成を行ったあと参加者や問題作成などでずっと関わっています。ISUCONの問題をやりこむのが好きです。

金子:金子達哉(@catatsuy)です。株式会社PR TIMESでCTOをしています。ISUCONは4回目から毎年出ていて、9回目の予選と6回目の本戦は出題者側をやりました。

中西:中西建登(@whywaita)です。株式会社サイバーエージェントで、社内向けのクラウド基盤の開発をしています。ISUCONは5回目から出ていて、ISUCON8では学生として初優勝、10回目で運営として、インフラ提供を主導しました。今回開催されたISUCON12は予選1位突破できました。

馬場:馬場俊彰(@netmarkjp)です。株式会社X‐Tech 5で取締役CTOと、株式会社iCAREで技術顧問をしています。ISUCONは3回目以外は出場していて、1回目は入賞、12回目の今回は本選に出場します。

馬場 俊彰氏(左上)、中西 建登氏(上)、藤原 俊一郎氏(右上)、長野 雅広氏(左下)、金子 達哉氏(下)、草野 翔氏(右下)

馬場 俊彰氏(左上)、中西 建登氏(上)、藤原 俊一郎氏(右上)、長野 雅広氏(左下)、金子 達哉氏(下)、草野 翔氏(右下)

――『達人が教えるWebパフォーマンスチューニング』はどういった本なのでしょうか? 本の内容や特徴について教えてください。

藤原:この本は、ISUCONに出てくる問題を題材として、世の中のWebアプリケーションによくある、パフォーマンスの劣化の要因やその見つけ方を学んで、システムを速く動かせるようになるための本です。なので、ISUCON自体の解説本ではなくて、あくまでISUCONの問題をサンプルとした本です。

 付録は、割とISUCONに特化した内容になっています。付録Aでは、ISUCONの問題を例にとってパフォーマンスチューニングの実例を説明しています。付録Bは、ベンチマーカーと呼ばれるソフトウェアの書き方の解説です。ISUCONは題材となるWebアプリケーションと、それに負荷をかけるベンチマーカー、両方があって初めて成立します。ベンチマーカーをどうやって作るか、どういうことに気をつけて書くといいかについて紹介しています。

――皆さんはそれぞれ、どんな内容を書かれたのですか?

馬場:1章は、基礎知識ということで、パフォーマンスチューニングをどう進めるといいのか、どうすると結果が出せるようになるのかという、基本的な考え方、押さえなければならないところを説明しています。これを知っていると、ISUCONに出たときに何に取り組めばいいか分からなくなることはないと思います。

中西:2章では、モニタリングについて解説しました。なぜモニタリングを行うのか、モニタリングの考え方や、ボトルネックの見つけ方について紹介しています。

藤原:3章は、実際に手を動かしていく章になっています。ここまで1章、2章で説明された概念を理解した上で、アプリケーションに対してどのように負荷をかけて、その結果をどう読んだらいいのかを、実例をもとに解説しています。

 4章は、3章を少し高度にした章です。普通のWebアプリケーションでは、ユーザーがトップページに来て、ログインして、マイページを見て……、とアクセスします。そのような実際のユーザーの行動を模したリクエストを送り、システムのパフォーマンスを知るためにはどうしたらいいかという説明になっています。

長野:5章はデータベースのチューニングについてです。データベースの基礎的な内容を最初に紹介し、ISUCONでもよく使われているMySQL中心に、データベースの負荷を調べる方法や、スローログをとって解析する方法などを紹介しています。何をしたらいいのか全く分からない状況から抜け出せることを目標にしました。

金子:6章から8章まではWebアプリケーション開発をやったことがあるけど、どうすれば高速化できるのか分からない人におすすめの内容です。6章は、ISUCONでよく使われているNginxというリバースプロキシについて、7章ではキャッシュについて、8章では、CDNやオブジェクトストレージサービスを紹介しています。

中西:9章は、Linuxの基礎知識やチューニングについて書きました。クラウド時代になって、OSのパラメータをいじることは少なくなってきいますが、OSについて知っていることで、ボトルネックになったときすぐに判別できるようになってくると思っています。

藤原:付録Aは、実際のISUCONの問題を、この本で紹介したテクニックを使って高速化してみた実例を紹介しています。実際に本書のテクニックを適用してみると、最初のスコアは650点のところ、最終的には500倍の30万点にまでなります。

草野:付録Bは、ISUCON10で作ったisucandarというベンチマークフレームワークを題材に、ベンチマーカーを作るときの考え方や気を付けることを書いています。

次のページ
Webパフォーマンスチューニングで大切なこととは?

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
注目イベント情報連載記事一覧

もっと読む

この記事の著者

小玉 莉子(編集部)(コダマ リコ)

 2022年に新卒で翔泳社へ入社し、CodeZine編集部に配属。 公立はこだて未来大学情報アーキテクチャ学科卒。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

近藤 佑子(編集部)(コンドウ ユウコ)

株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の編集・企画・運営に携わる。2018年、副編集長に就任。2017年より、ソフトウェア開発者向けカンファレンス「Developers...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16338 2022/08/26 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング