社内ISUCON開催しました

f:id:okashoi:20200309192120j:plain

こんにちは開発室の三島です。 ウィルゲートでは業務時間の5%を自己研鑽に使うことができる「5%ルール」が存在します。 今回は5%ルールを使用して社内ISUCONを開催したので、その様子をこの記事に書いていきます。

ISUCON

ISUCONは「いい感じスピードアップコンテスト」の略です。 サーバーのボトルネック解消を競い合うコンテストになります。 以下のページに詳細がありますので興味のある方は見てみて下さい。

isucon.net

開催の経緯

ウィルゲートではパフォーマンス・チューニングの知見が分散し、できる人とできない人に差がありました。 そのため、開発室としてメンバーにパフォーマンス・チューニングの知見を付けてもらいたいと思ったので開催しました。

運営側でやったこと

サーバーの準備

f:id:MikaE:20200225202843j:plain
サーバー構築の様子

今回はただ速くするだけではスコアが上がらないISUCON9の予選問題で行うことにしました。 各チーム2台のサーバーを付与し、ISUCONに挑んでもらえるようにしました。 サーバーの準備では、証明書がハードコードされていたりと気が付かないと解決できない問題がありました。 当日まで準備を頑張ってくれた池添さんと高畑くんには頭が上がりません。

当日の流れ

開会式では簡単なルールを説明しました。1チーム3~4人の5チームに分かれてISUCONをはじめました。 各チームで頭を悩ませながらパフォーマンス・チューニングに取り組んでいました。

f:id:MikaE:20200305154048j:plain
チームで集まってパフォーマンスチューニングしている様子

ISUCON初心者が多い中で、チームごとに協力して進めてくれていました。 短い時間で多くのことを行う必要があったので、ISUCONが終了するとどのチームも出し切った顔をしていました。

f:id:MikaE:20200305180615j:plain
最後まで一生懸命取り組んだので出し切っています

ISUCON終了後スコアを再測定し、優勝チームを決定しました。 優勝したチームはボトルネックの調査ツールを入れ、調査結果に基づいて実装を行っていました。調査に基づいた実装だったので、時間を無駄なく使えていたと思います。実際の業務にも活かせるのではないかと思います。

f:id:MikaE:20200306115707p:plain
全チームスコア

ちなみに、運営チームもISUCONに一緒に取り組みました。 結果はMySQLの設定を間違えてしまい0点となってしまいましたが、一緒に取り組めて楽しかったです。

f:id:MikaE:20200305153959j:plain
運営チームでもISUCON

まとめ

運営として、至らないところが多々ありましたが無事終わる事ができて安心しております。 今回社内ISUCONを開催して、色々な気づきがあったのでそちらは別の記事で紹介したいと思います。

社内ISUCONを行うことで、パフォーマンス・チューニングに興味を持ってもらえたのではないかと思います。 ISUCONの問題はよく考えれれている問題が多いので、解説をするなど違うアプローチからもパフォーマンス・チューニングに興味を持ってもらえるようにしていきたいです。 運営側で用意しておくことがわかったので、また機会があれば社内ISUCONをやりたいと思います。

当日のツイート