お首が長いのよ私について【ISUCON9予選】初参加しましたISUCON9に参加しました前々から気になってたけどチーム組んで参加するのがハードル高かったんですが、友人と参加する事ができました。スコアは5,010イスコインでした。浅く広い技術の知見を生かしてメンバーの壁打ちやissueの調査をメインに、チームメンバーが気持ちよく動ける立ち回りを意識しました。オフライン会場の準備アプリの調査Nginxのログフォーマット設定issueのヘルプローカル開発環境準備のヘルプDBのチューンナップアプリとDBの分離オフライン会場の準備ほぼこれに終始といっても過言ではない。結果的に「下手なコワーキングスペースより充実してて良い」といってもらえたのがモチベーション。若干ネタに振り切ってますが、気軽にくつろげて会話ができて作業に集中できる環境はかなり大事アプリの調査アリババクラウドのアカウントを用意してくれたメンバーがインスタンスのデプロイをしてくれた後、アプリの調査を行いました。Frontend周りが自分には難解すぎて良い動きができなかった。結局ソースコード周りは手がつけられなさそうだと判断してMWへ。原因は単純なところだったけど調べてさっと解決できるところなのでよかった。(ログの出力設定にLogFormat名指定しているのにLogFormatの部分で名前記載してなかった)ローカル開発環境準備のヘルプもうひとりのメンバーはソースコードをgithubに用意してくれており、そいつをクローンして開発できるように。SCPで無理やり引っ張ってデータをコンテナ上DBに突っ込んだ。この辺はメンバーにヘルプしたりされたりだったので個人でどうにかできればよかったなと反省DBのチューンナップ後半はコードの修正で貢献ができないと判断したのでDBのチューンナップへ。そもそもアプリ側でCPUを浪費していたので大きな貢献には至らなかった。アプリとDBだけひとまず分けちゃおうっていうことで、アプリのDB向き先を別のインスタンスに変更。port:8000番が開かなくなってしまった原因の調査にかなり時間を費やしてしまった。systemdのステータスみてもLoadedになってるし、いくらssコマンドでもlsofコマンドでもサービスの受付をしているように見えない。systemdが叩いているアプリの実行コマンドを直打ちで試したところ、向き先をかえたDBが接続を弾いているためと判明。最終的にメンバーの「この設定は?」の一言から解決した。原因は/etc/mysql/my.cnf内にあるbind-addressの設定だった。こんなのあったのかという感じだった。チームで1人しかいない尚且ISUCON経験者ってことで彼の負担がかなり大きかったと思う。やるべきことは見えてるのに時間が足りないって漏らしてたし、もう少しこのあたり貢献できるくらいの自力はつけないとだめだなと反省した。知識レベルでは大きくずれてるわけじゃないと安心できたので、もう少し実践でどうにかできないとなとただただ思うばかり。ISUCONの問題はかなりよく出来ていて、物語の設定もそれ用のデータもよく作り込まれてて非常に関心した。定期的にこういったコンテストに参加してモチベーションを高めて趣味の時間でも実力を維持したり、高める機会にしたいと思った。準備と開催してくださった運営スタッフの皆様お疲れ様でした。一緒にやってくれたメンバーもお疲れ様でした。リベンジ会しましょう。@Kill_In_Sun。