初めてのいい感じにスピードアップコンテスト(ISUCON10参加)

ISUCON10に参加した

以前、先輩社員がISUCONに参加しているのをみて
「なんか面白そう」と思っていたので

今回初めてISUCONに参加してきた。

isucon.net

yothio(僕)とAdacchi3(同期)とTommy(後輩)の3人で

みんな初めてなこともあり藁にもすがる思いで「チームビギナーズラックに全振り」というチーム名で参加した

役割とかその他

インフラはyothio
アプリとデータベースはAdacchi3とTommyという役割で進め

デプロイ関連は「本番反映お願い」という言葉がブロードキャストされたら

yothioの作業キューに割り込み処理として、git pull → 依存関係解決 → サービスの再起動というタスクが実行されるようになっている

最初の1時間でやったこと

ISUCONの過去問を2回ほどかいつまんで実施して、容量を把握し

もう2回を実践と同じくらいの時間確保して実施し、当日のトレーニング、流れの確認などを行った

そのため最初の1時間で誰が何をするかは決まっていたのはやはりよかった

自分の作業としては - sshでの接続確認 - 予め作成しておいたGithubリポジトリをリモードリポジトリに設定 - 初期ベンチの実行 - 参考実装切り替え

などの実際にインスタンスに入って作業を行うことをメインとした

f:id:shiotyan317:20200919013107p:plain
ISUCON練習時のHACKMDに記載した振り返り

ISUCON全部通して

結果的にやった作業としては - APサーバを unicorn → puma - botを弾く対応(未完全) - 1台LB兼DB, 2台AP構成 - mysql.confの変更 - ログ出力の削除(終盤)

競技中の最大スコアは 830程で
終了後の目安スコアは776と自分含むメンバーが初めてながらも健闘できたのはよかった

ただ、個人的な心残りは

mysqlのread-write構成にする途中で時間が来てしまったので出来なかった事
(これやれてればもう少しスコア上がったんだろう)

社内勉強会でもmysqlレプリケーションを取り上げていた事もあったので
そこをしっかり復習しておけば出来たんだろうと思っているのが心残りです(悔しい

ISUCONの感想としては

「難しい、焦る、上手いこと行かない」けれどそれを超えるほどの「楽しい、やったった感」があった。

特に自分は業務でインフラ関連を触り始めたのが5月くらいなので
そこから模擬戦の環境を自分で構築したり、参考となる記事を漁ったりというところが
前出来なかった事ができるようになったと感じたのでとても良い経験となった。