そして人権を取り戻した(ISUCON7予選突破したぞ!!!)

覚えていますか、人権を失った日のことを、、、

programmermot.hatenablog.com

あの日から一年、私たちは成し遂げました。

isucon.net

というわけで1年ぶり2度目のISUCON本戦出場です!やったー🎉🎉

メンバーは昨年ともに頑張った @abcang1015 くん、 @syusui_s くんです。 昨年は皆卒業を控えた学生でしたので「チーム卒業」として戦いました。 今回は全員が新卒になったということで「チーム新卒」という名前でエントリーしました。

前回は学生枠での突破ということでしたがなんと今回は1日目2位という自分でもかなり驚く結果となりました。

ここではざっくりチームで何をしたかという流れを書いておきます。

結果

1日目2位 268,588点 (全体では7位)

リポジトリ

gitlab.com

nginx.confは最後の方ちゃんと管理できてないので厳密じゃないです

役割分担

あまりガッツリ決まって無くて、最初の行動としては

  • pg_mot: レギュレーションと渡されたサーバ見て戦略考える
  • abcang: プロファイラ仕込みまくる
  • syusui_s: コード読んでコメント撃ちまくる

というところから始まりました。

あとはコード読んだりプロファイラの結果を見たりレギュレーションから点数算出方法見たりしてドコが肝になりそうかを考えてissueを潰していくみたいな感じです。

自分のやったこと

  • めっちゃサーバスペック低い上、画像返さないといけないのに100Mって絶対詰まると思う
  • レギュレーション見てるとどうやらキャッシュが大事っぽいので、nginxのその辺の設定について調べ始めて設定する
  • あとMySQLがToo Many Connectionで落ちるじゃん何だこれってなったので、max_connectionsあたりのパラメータいじる(どうやら実装がバグっていたらしいこれはabcangくんが直した)
  • 残りは二人を応援しながらログとか眺めてた

今回もあんまり仕事してないですね。。。あとはチームの議論を回したりしてた。

良かった点

  • 今回謎のハマりみたいなのが一切なくスムーズに作業できた
    • ISUCON6で空気感わかってたおかげっぽい。8時間練習は大切
  • ちゃんとプロファイラとかで計測してから改善した
    • コレは本当に大切ですね
  • これやったら良くなりそうみたいな雑な感覚じゃなくて、ちゃんと理由を持って修正できた
    • 意味のある行動ができた
  • まず1台でやってあとで2台にするという戦略が取れた
    • 6本戦ではできなかったこと

良くなかった点

  • 互いにちゃんとコードとかレギュレーション全部見れてなかった
    • ぼく: コードあんまり深く読めてない
      • なんと今回commit一回もしてない,,,
    • abcang: レギュレーションほとんど読んでない
      • 終了1時間前ぐらいに「あーfetchって直接点数に意味ないんですね」などと供述し、、、
      • 厳密には意味はあるけど、、、
    • syusui_s: しゅーすいくんは偉いからちゃんと読んでた(読んでなかったら記事書いて白状して)

感想

去年出たし一年でどれだけこれたか試してみようやというあたりから始まったのですが、まさか本戦に出れるとは思っていませんでした。 次こそ優勝狙ってやっていくぞ!

運営の皆様、今回準備で大変だったとは思いますが改めて勉強になりましたし、楽しかったです。 本戦も楽しみにしています!!!

新宿オフィス楽しみ!!!!!

メンバーの感想

abcang.hatenablog.com

ここにはsyusui_sくんの記事が入ります