#isucon2 に参加しました

同僚の @kentaroさん @kyannyさんと #isucon2 に参加してきました。前回参加したときより結果も良かったですし、多くの気付きを得られ充実したものになりました。

@kyannyさん、@kentaroさんがすでに書かれている内容が詳細に富んでいるので、チームとして取り組んだことはこちらを参照ください。

自分で感じたことは以下です。

良かった点

前回は「とりあえず自分が知っていることで出来そうなこと」をやるといういきあたりバッタリ感がありましたが、今回は以下の部分で改善を感じられました。

  • そもそも行った施策とその効果を見る
    • 何かよく分からないけど良くなったというのは基本的に無い
    • スコアの移り変わりと、その時やったことを見ないと始まらない
    • 自分が知っている範囲で明らかに問題だと判断出来るポイントに対して、こうだからよくなるだろうという検証というプロセスを終始踏めた
  • 多角的に調査する
    • 例えば以下のような流れ
    • リバースプロキシ側で処理秒数を見る、httpd の logformat で "%D" つけてソート、重いリクエストの path を見る
    • それを共有、該当アプリのコードを見て、そりゃ遅くなるだろうなという確信を得て改善

反省点

良かった点の精度、内容の濃さで足らなかったことが主です。

  • 自分の知識との照らし合わせ
    • よく見知っている言語やプロダクトをチョイスすると決めていたからこそもっと細かくパラメータを精査出来た部分はあった
    • 担当分野を分けたという意味で自分ひとりでも改善出来るポイントがもっと欲しかった
  • 一問題に対するアプローチのバリエーション
    • よくなるだろうという仮説をもとに検証して期待した効果が出なかった時に、「いや絶対こうなはずだ」と意固地になったシーンがあった
    • そこで思考停止するのではなく、「であればこう」という転換・切り替えをある程度見切って行う

感想

@kyannyさんも書いてましたがスプリント勝負は迷ったら負けで、手を止めないことが大事だと感じました。

それに必要な手札の豊富さですが経験によるというと単純だけれども、その経験の主に元になる業務に対する姿勢についても考えなおされるところがありました。コンテストで必死になった気概を業務にフィードバックしたいと思います。んー、業務に限ったことじゃないな。。日頃にもか。。

基本に忠実たれ、一朝一夕で身につかないことだからこそ基礎的なところから理論も手法をもっと詰めて学習したいとやる気が新たになります。コンテストのスコアと一緒で、自分の成長も「なんとなく出来るようになってる」じゃなくて「これはマスターした」という積み重ねをしていきたい。

その積み重ねを客観的・相対的に評価出来るこのようなコンテストの機会は非常にありがたいです。今後も参加したいですし勝ったらその時はドヤ顔とかもしたい!

すごい、今回のエントリ技術的なことほとんど触れてない。何かスポ根みたいな内容になってしましましたが、isucon2すごく楽しかったです!

余談

チーム名、最初に「アンチ☆ブーメラン」「刺身ポップ」っていうのを思いついて一人でテンションあがって皆に共有したんですが、あんちぽさんがこのチーム名で出したのだけちょっと心残りです。俺、思いついた2候補に "with T" くらいな感じで良かったのに!