Alligator Swamp

技術メモ

ISUCON8にk02で参加し予選突破しました

k02 (kyokomi, yasu, waniji) で参加するのは4回目で、今回は初の予選突破をしました。とても嬉しい。スコアは 39,282 で、528組中16位でした。

準備や当日やったことはチームメンバーの記事が詳しいので、そちらを見てください。

ここでは自分がやったことや反省点などをまとめておこうと思います

事前準備

  • ホワイトボードのある会場を確保
  • 外部ディスプレイ確保

いつも作業している環境が一番捗るため、外部ディスプレイをまず確保しました。また、お互いの画面を見ながらコミュニケーションをしたいので、横並びで席を配置しました。非常に気持ちよく作業出来たので、自分が一番貢献したのはこの部分かもしれません。

当日

  • レギュレーションとマニュアルの読み込み
  • アプリケーションを実際に動かしてみる
  • サーバ内で起動しているミドルウェア等々の把握
  • DBスキーマソースコード、initialize処理の把握

まずはサービス内容の理解に力を入れました。過去参加した時の反省会で、サービス理解が足りなかったという意見が毎回出ていたため、しっかりと時間を使いました。結果として、修正ミスがあったときにも素早く挽回が出来ていたので、初手としては成功でした。

  • h2oはほぼ手を加えない判断をした

Nginxに置き換える案も出たのですが、今回はここがポイントではないと判断し、ほぼ何もしませんでした。

  • MariaDBを別サーバで起動するようにした

ベンチマーク時のDB負荷がかなり高かったため、別サーバで動かすようにしました。そこまで苦戦することなく作業できたので一安心。

  • スロークエリログを出して改善案を出した

今回は Go を選択したのですが、バリバリかけるのが kyokomi のみだったので、自分と yasu はクエリのチューニングにまわりました。実装を任せきりにしてしまったため、分担としてはあまり良くなかったのかなと反省しています。

反省点

  • 作業分担があまり良くなかった

自分は、デプロイ改善やログの分析などに回ったほうが良かったなと思いました。ついついソースコードを読んで改善出来る箇所を探してしまうのですが、もっとメンバーを信頼して、サポート側に振ったほうが良かったなと反省しています。

  • 事前準備が足りなかった

もっとあんちょこを用意すべきでした。ISUCON終了時はモチベーションも上がり色々と必要なものが思い浮かぶのですが、一年経つと一切合切忘れてしまうので、次からは気をつけたいです。

感想

毎回参加して思うのですが、ISUCONは本当に楽しいです。運営の方々、ありがとうございます。念願の本戦出場なので、万全の体制で挑みたいです。