活動報告
「ISUCON 社内勉強会」をはじめました
こんにちは!ニュースメディア事業部 エンジニアの岡部とシステム統括部 エンジニアの藤田です。
今回は、最近社内で取り組んでいる「ISUCON 社内勉強会」についてご紹介しようと思います!!
そもそも ISUCON とは?
「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル」
Iikanjini Speed Up Contest を略で、個人・またはチームでお題となるWebアプリケーションをチューニングするコンテストです。
ここ数年では500以上のチームがエントリーしております。
マイナビエンジニアのエントリー歴
実は一昨年、去年と弊社のメンバーが ISUCON にエントリーしております。
さらに、なんと一昨年のISUCON8では決勝に進出しております!!!
去年のISUCON9では参加人数が増え、2チームが挑戦することになりました。
岡部と藤田はISUCON9からのエントリーです。
しかし、結果は以下のスコア通り、予選敗退となってしまいました……。
社内勉強会をやるぞ!!!
「このままじゃダメだ!!俺たちはISUCON決勝で戦うんだ!!!」
このヒロさんの熱い気持ちに応えたメンバーで、去年の12月くらいに立ち上げたのが「ISUCON 社内勉強会」です。
ISUCONの決勝で戦えるエンジニアになることを目的として、週に1度程度の頻度で業務時間後に集まり、参加メンバーの個人のスキル及びチームワーク力が向上するような活動をしております。
(も、もちろん優勝も目指してますよ!!)
最近では、Slackコールで通話しながらtmuxの画面共有機能を使ってリモートでのモブプロ形式で実施もしております。
やってきたこと
ISUCONは過去問が GitHub 上に公開されているため、その過去問をパブリッククラウド(GCP)で構築し、アクセスログ解析ツールのkataribeの導入や使い方についてのキャッチアップ、モブプロでのWebアプリケーションのパフォーマンスチューニングに取り組んできました。
参加メンバーはインフラ、サーバーサイド、フロントエンドなど業務で担当している領域がさまざまであるため、お互いが教え合っているという良い循環が回っております。
これからやっていくこと
次回ISUCONの決勝進出に向けてやることは沢山ありますが、今の所は以下のようなトピックに取り組む予定です。
- 改善イテレーションの高速化 (Makefileなど)
- 基本パフォーマンス解析ツールの使い方 vmstat、top、strace…
- ネットワークダンプによるHTTPリクエストの解析
- 静的ファイルのnginx配信とHTTPヘッダチューニング
- 各リクエストへのCRUD分析
- MySQLインデックス
- NewRelic導入
- メモリキャッシュによる高速化
- N+1 クエリーの解消
- golang、nginxのキャッチアップ
例年の開催月から推測すると、次回ISUCONまではあと約半年…チームみんなで決勝に行くぞ!!!