インタビュー

ISUCON11を獲るのは誰だ?!ISUCON予選突破注目チームに迫る!

この記事を読むのに必要な時間:およそ 8 分

連続本選出場チーム

続いて,連続本選出場チームから,FetchDecodeExecWrite,ウー馬場ーイー2,チーム中目黒乗り過ごし,カレーおじさんの4チームです。

FetchDecodeExecWrite(スコア:462239)

人数3人
メンバーakouryy1kcz146moratorium08
プロフィール3人とも東大理学部情報科学科出身で,スタートアップで一緒にWebサービスを開発。その経験から,ISUCON8にチームとして初めて参戦し以降4回連続本選出場。現在は,一人がエンジニア,二人が大学院生。チーム名の由来はCPUの仕組みから。
①の回答

ISUへの愛が感じられる良いストーリーでした。今回特別に用意した方針はなく,他の回同様ボトルネックを見つけては改善する,の繰り返しをしました。したがって,最初に行ったのは各種プロファイリングツールの設定とマニュアルを丁寧に読むことです。すると,DBがボトルネックになることがわかったので,スロークエリを解析し,適宜N+1の解決やインデックスの追加,LIMITの追加などの改善を行ないました。

②の回答

DBのボトルネックをいくつか解決して全体を見渡すと,トレンドの取得が重いことがわかりました。この部分にキャッシュを雑に入れて良いのかと思いましたが,ペナルティがあり調整が難しかったです。

また,ISUから送られてくるデータをすべて反映するのではなく,新規ユーザの獲得につながりそうなものを選別して優先的に保存するようにしました。

③本選に向けての意気込みを一言!

予選は通過さえすればいいので,序盤うまくいけば危険な変更をせず乗り切ることも可能ですが,本選は1位を目指す必要があるので難しいところ。これまで参加した本選は,0点,失格,6位と少しずつ良くなっている(?)ので,今年こそは優勝したい!

ウー馬場ーイー2(スコア:389509)

人数3人
メンバーishikawa84gmatsuunetmarkjp
プロフィールISUCON1から参加しているインフラエンジニア3人組。利用言語はGolang,サブでPerl。インフラにめっぽう強い。SELinuxはEnforing,AppArmorはEnforceが信条。ISUCON1で入賞したときもSELinuxはEnforcingでフィニッシュ。
①の回答

「ISUのコンディション登録が大量にあるだろうから,時系列データベースなどを検討する必要があるかもしれないね」なんて想像していました。ただ実際にはそのような構成変更は行っておらず,検討すらしていません。

方針については毎年同じで,レギュレーションなどのドキュメントをじっくりきちんと読んで・アプリを触ってサービスの内容や目的を理解したうえで,ボトルネックに着目してOODAループを回しています。AppArmorはEnforceにする方針としました。

②の回答

今回はシステムリソースのボトルネックを解消してもスコア上昇につながらないといった状況がたびたび発生しました。CPU負荷は下がったのに,さしてスコアアップしないといった状況です。それでも狙った効果は出せているので良しとして進めたところ,別の改善との相乗効果によって最終的にスコアアップしたと考えています。

チームではドキュメント・アプリ・ログ・システムリソースをつぶさにモニタリングするのと,煮詰まったら立ち止まって発想を転換するよう意識しています。今年の予選問題はコンディション登録が1度に10件登録されるのですが,マニュアルをよく読んだ結果「どうせデータはほとんどdropしているのだから,登録するのは最後の1件だけにしてリクエストをガンガン回してもいいのでは?」と思いつき,これを実践したところスコアが大きく向上しました。それでもAppArmorはEnforceです。

③本選に向けての意気込みを一言!

インフラエンジニア3人で構成される私たちのチームは,ランキング上位のチームに比べるとプログラムを改修する速度がかなり控えめです。だけど奇想天外な発想力と抜群のインフラ力,チーム結成10年のチームワークで補完して,優勝めざして頑張ります!そしてAppArmorはEnforceだぞ!

チーム中目黒乗り過ごし(スコア:289148)

人数3人
メンバーshmorimo,と,kazeburo
プロフィールSNS,ポータル,ゲーム,アプリとあんなWebサービス・こんなWebサービスの負荷と戦い勝利を納めてきた伝説のチームです。合言葉は「敗北を知りたい⁠⁠。チーム名は,中目黒駅で日比谷線へに乗り換えによく失敗するメンバーがいたところからつけました。リモートワーク中心になり乗り過ごしはなくなったので実質勝利です。メンバーはそれぞれこれまで何度もISUCONに参加してきておりますが,このチームでの出場は昨年に引き続き,2度目となります。
①の回答

まずCloudFormationによる環境構築と,IPアドレスのポータルへの自動反映など丁寧につくられており,予選に集中できる環境が整っていたのは非常に良かったところです。問題としては椅子が自身の状態を送ってくる,IoTやネットワーク機器のメトリクス収集がベースになっているユニークな問題であると感じました。

ここ数年のISUCONでの傾向ですが,ソースコードやデータベースのスキーマだけをみて取り組むことを考えるのはすでに難しく,サーバ,アプリケーションのプロファイリングやデータベースのslowlogを取得し,結果を見ながらボトルネックについて相談し,取り組むことを決めるのが常套手段となっています。

今回であれば,データベースへの書き込みが多くあるのでMySQLのチューニング,明らかに不足しているインデックスの付与,短時間で修正でき,効果の高そうなアプリケーションのコード変更に分かれて手を動かし始めました。

②の回答

最初のインデックス追加でスコアは上がりましたが,その後はアプリケーションに手を入れてもボトルネックが移動し,ジリジリとスコアが上がるものの,改善の方向が正しいかわからず,劇的にスコアがあがるようになるまで我慢の時間が続いたのが,今回の難しいところでした。

その中で,アプリケーションのプロファイルを継続的に取得し,定期的に3人でプロファイル結果を確認し取り組むべき箇所を相談しつつ,ひとつひとつボトルネックを解消し,最終的に予選通過できるスコアにたどりつくことができました。

また,チーム内で今どんなことに取り組んでいるのか,気になっている箇所は「声」を出して確認し,作業の重複やコミュニケーションの行き違いをなくすよう意識し,さらに,デプロイしたコードに問題があ,はり,エラーが発生した際はデプロイした本人だけではなく,全員で原因を探し,解決できない状況で乗り過ごさないようしておりました。

③本選に向けての意気込みを一言!

昨年の本選は最終的に,Failしてしまいスコアを残すことができませんでした。今年はスコアを残しつつ,上位を狙っていきたいです!!

カレーおじさん(スコア:286089)

人数3人
メンバーtatsumacksugaretlazydg
プロフィール前職の同僚で組んだチーム。ISUCONは3回参加しており,2回本選出場を果たす。カレーは自作派。
①の回答

問題紹介動画を見たときは椅子を擬人化した育成ゲームかと思い,仕様が複雑そうで大変そうだなと思いましたが,蓋を開けたら普通のIoTサービスでホッとしました。

最初の1時間くらいは開発環境の整備とパフォーマンス測定のためのツールの準備,サービスの仕様の確認を行うことに決めていました。役割分担も事前に決めていたので,まずは各自粛々と決めていたタスクをこなしました。最初のタスクが終わった後は,愚直にパフォーマンスの測定を行ってボトルネックを潰していく方針でスタートしました。

②の回答

今回の問題は測定からわかったボトルネックを潰すこと,スコアの計算方法を理解してチューニングを行うことで素直にスコアが伸びていったので,序盤は方針通りに進めるにあたって難しいと感じたことはとくにありませんでした。

「推測するな計測せよ」という格言を忠実に実践することが求められる良い問題だと思いました。ただ,最終的には時間が足りなくなってしまい,3台目のサーバを使用することなく競技終了となってしまった点が心残りです。本選では,時間配分も意識して競技に取り組んでいきたいと思います。

③本選に向けての意気込みを一言!

昨年の本選では終了直前にサーバを起動不能にしてしまう痛恨のバグを仕込んでしまい,失格となってしまいました。今年の本選では,サーバが起動できる状態で終えられるように頑張ります!

著者プロフィール

馮富久(ふぉんとみひさ)

株式会社技術評論社クロスメディア事業室部長代理。

1975年生まれ。横浜市出身。1999年4月株式会社技術評論社に入社。入社後から『Software Design』編集部に配属,同誌編集長(2004年1月~2011年12月)や『Web Site Expert』編集長を歴任。その後,2008年9月に設立したクロスメディア事業部(現クロスメディア事業室)の責任者として,イベントやWeb・オンライン企画を統括。現在は,技術評論社の電子出版事業を中心に,デジタル・オンライン事業を取りまとめる。社外活動として電子書籍を考える出版社の会の代表幹事やWebSig 24/7のモデレーター,TechLIONプロデューサーなども務める。過去にIPAオープンソースデータベースワーキンググループ委員やアックゼロヨン・アワード他各賞審査員などの経験を持つ。

Twitte ID:tomihisa(http://twitter.com/tomihisa/

バックナンバー

2021

  • ISUCON11を獲るのは誰だ?!ISUCON予選突破注目チームに迫る!