2021.08.22

ISUCON11の振り返り

ISUCON11予選に参加しました。振り返ります。<br> 日程: 2021/08/21
言語: Python
チーム: kohakumanjx
・@PeeI043 (以降、ぺいくん)
・@rin1208_sugi (以降、りんちゃん)<br> 学生時代のインターン先の同期で組みました。ぺいくんはフロントエンド、りんちゃんはサーバーサイド、自分もフロントなのでインフラがいないというチーム編成です。強気。

事前準備

過去問をvagrantとかdockerで動かしてみようと思いました。他の2人はdockerで起動できたらしいが自分だけはできなかった...
ここですでに3日くらい溶かしていたのでもう動かすことは諦めて、事前講習の資料や他の人の参加ブログを読むだけで当日を迎えることになった。<br> 他の2人は事前講習に参加して士気が上がっていました。

当日

開始前

9:30 自分以外起きていない。やばい。
9:45 rin1208が起きてくる
9:50 まだ自分しか作業できなさそうなので急いでAWSのアカウントを作る
9:58 peiが起きてくる<br> 起床部門はギリギリクリアしました

午前

10:00 AWSをはじめてまともに触るのでドキドキしながらテンプレートからec2を立てる
10:30 SSHができない
りんちゃんがなんかごにょごにょしてくれて自分はSSHできた。ぺいくんはまだできない<br> 12:00 ようやくベンチマークを回した(りんちゃんが)。とりあえず動かしただけでスコアが2690になり、598位から180位くらいまで上がった。残りの400チームくらいはまだ動かしてすらいないんだろうと安心し、チームが落ち着きを取り戻す<br> 12:40 とりあえずisuのpostのdrop確率を0.8にしてみた。りんちゃんしかまともにサーバーを触れないのでベンチマークを動かしてもらう。スコアが1851に下がった。ここで事前講習のスライドにあったalpコマンドを思い出す
12:45 alpコマンドが動かない。なにをしたらいいかわからないしぺいくんはSSHできないしでお通夜状態だったので一旦お昼休憩にした。13:15に再集合

お昼休憩

13:00 1人でお昼を食べる。午後のために徳を積んでおこうと思って家の掃除とかをする

午後

13:15 お昼休憩を挟んだことで落ち着いてやることを考えられるようになった。
13:30 実はまだお題のテーマがわかってない。動画を見てようやく椅子のコンディションを見るWebサービスだということがわかる。圧倒的ISUCON初心者感
14:00 りんちゃんがalpコマンドを使えるようにしてくれた。   この頃からrin1208は1人で3台のサーバーを駆使してDBとAPIサーバーを切り離そうとするので、残ったぼくとぺいくんはalpコマンドの出力結果を見ながら直したい箇所は探し出す
15:00 この辺りでようやく当日のマニュアルを見て加点のポイントがわかる

サーバーサイドのコードをフロント2人でがんばって読みながら見ていると ・アイコンをgetするのが重いらしい。特にicon ・isuのpostを絞ろう ・iconのgetを軽くしよう という方針になる

17:00 これをrin1208に説明し、iconを頑張ってもらうことにした。一方でぼくはpostをできるだけ減らすために昼ごろに一旦0.8にしたdrop確率を0.99まで上げる。スコアが5059まで上がってウキウキ(ベンチマークはもちろんりんちゃんが回す) 17:40 再起動してみようということになり、AWSのコンソールからインスタンスを再起動しようと思ったら間違えて終了してしまった。シャットダウンだろうと思って再起動しようと思ったボタンが押せない。どうやら削除してしまったらしい<br> \(^o^)/<br> 最後にベンチマークを回したところが最終得点になるらしいので残った2台のサーバーの片方に再デプロイしてベンチマークを回し、ギリギリ得点を出した。
これで我々のISUCONは終わった

結果

失格(1台再起動不能)
スコアとしては5076でした

振り返り

AWSわからなすぎて失格になってしまったハイパーウルトラミス<br> n+1問題は見つけられたけど実装できなかったり、インデックスを張るっていう常套手段を忘れていたり、スタートダッシュでこけなければ2時間多く作業できたはずだったりと反省点が多かった<br>

あとは3人とも自宅から作業していたのでお祭り感もいまいち共有できなくてさみしかった
でも楽しかったしまたリベンジしたい<br> 来年こそは集まってピザを食べながらお昼の作戦会議をできたらいいな