2020/04/13

お知らせ

「ISUCON 社内勉強会」をはじめました

この記事の目次

    こんにちは!ニュースメディア事業部 エンジニアの岡部とシステム統括部 エンジニアの藤田です。
    今回は、最近社内で取り組んでいる「ISUCON 社内勉強会」についてご紹介しようと思います!!

    そもそも ISUCON とは?

    「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル」

    ISUCON公式Blogより

    Iikanjini Speed Up Contest を略で、個人・またはチームでお題となるWebアプリケーションをチューニングするコンテストです。
    ここ数年では500以上のチームがエントリーしております。

    マイナビエンジニアのエントリー歴

    実は一昨年、去年と弊社のメンバーが ISUCON にエントリーしております。
    さらに、なんと一昨年のISUCON8では決勝に進出しております!!!

    ISUCON9 オンライン予選 全てのチームのスコア(参考値)より

    去年のISUCON9では参加人数が増え、2チームが挑戦することになりました。
    岡部と藤田はISUCON9からのエントリーです。

    ISUCON9決勝進出に向けて気合いが入っている予選開始直前のITソリューション部 部長 鈴木 拓暁(以下、ヒロさん)

    予選の様子

    しかし、結果は以下のスコア通り、予選敗退となってしまいました……。

    ISUCON8 オンライン予選 全ての順位とスコアより

    ISUCON9 予選終了後のメンバーでのお疲れ様会で燃え尽きているヒロさん

    社内勉強会をやるぞ!!!

    「このままじゃダメだ!!俺たちはISUCON決勝で戦うんだ!!!」

    このヒロさんの熱い気持ちに応えたメンバーで、去年の12月くらいに立ち上げたのが「ISUCON 社内勉強会」です。
    ISUCONの決勝で戦えるエンジニアになることを目的として、週に1度程度の頻度で業務時間後に集まり、参加メンバーの個人のスキル及びチームワーク力が向上するような活動をしております。
    (も、もちろん優勝も目指してますよ!!)

    ISUCON 社内勉強会の様子

    最近では、Slackコールで通話しながらtmuxの画面共有機能を使ってリモートでのモブプロ形式で実施もしております。

    リモートでの勉強会の様子

    やってきたこと

    ISUCONは過去問が GitHub 上に公開されているため、その過去問をパブリッククラウド(GCP)で構築し、アクセスログ解析ツールのkataribeの導入や使い方についてのキャッチアップ、モブプロでのWebアプリケーションのパフォーマンスチューニングに取り組んできました。
    参加メンバーはインフラ、サーバーサイド、フロントエンドなど業務で担当している領域がさまざまであるため、お互いが教え合っているという良い循環が回っております。

    これからやっていくこと

    次回ISUCONの決勝進出に向けてやることは沢山ありますが、今の所は以下のようなトピックに取り組む予定です。

    • 改善イテレーションの高速化 (Makefileなど)
    • 基本パフォーマンス解析ツールの使い方 vmstat、top、strace…
    • ネットワークダンプによるHTTPリクエストの解析
    • 静的ファイルのnginx配信とHTTPヘッダチューニング
    • 各リクエストへのCRUD分析
    • MySQLインデックス
    • NewRelic導入
    • メモリキャッシュによる高速化
    • N+1 クエリーの解消
    • golang、nginxのキャッチアップ

    例年の開催月から推測すると、次回ISUCONまではあと約半年…チームみんなで決勝に行くぞ!!!

    ※本記事は2020年04月時点の情報です。

    著者:マイナビエンジニアブログ編集部