さんからISUCON一緒に出ましょう!と声をかけられたので、ホイホイとチームを結成しました。さんが一緒にチームを組んでくれることになってチームが結成された。当日まであまり素振りとかできなかったのが悔やまれますが、まずは昨年参加した知見から、事前に作業方針のメモを共有しておいた。公開鍵を予めあつめておくとか、最初に手を付ける箇所の分類、チャットツールの準備などなど。これは結果論だけど、チャットツールにSlackを選択していたのは、当日ISUCONの公式チャットツールidobataに障害が発生していて正常にアクセスできなかったので助かった。宅におじゃまして3人で顔を突き合わせて作業しました。当日やんごとなき事情で開始時間が1時間遅れたので、その間にトイレ行ったりして気持ちを高めていた。さんが秘伝のタレやミドルウェアのバージョンアップなど自分はアプリのコードをgit化してデプロイできる環境を構築。さんがER図やベンチマーク実行時のログからどのような動きをしているかを確認してくれたこの時点のベンチマークでは(ランキングが正しければ)暫定1位を取ってたのは穏やかではなかった。ころまでここらへんからどうもミドルウェアよりはアプリ(SQL)の問題らしいということが明確になってきて、各自問題のありそうな部分の確認、修正に着手していく。この時、id:koemuの圧倒的コミットによって一瞬15000点くらい叩き出していて、暫定3位くらいにつける瞬間があった。26ただ、ベンチマーク的には問題なかったけど画面上の出力結果に問題があったので、おそらく意図しない結果だろうと判断して、この結果はお蔵入りになった(この得点に自力で到達できれば予選通過できたのだけど、、、)。並行してプロファイラを仕込んだりしてボトルネックの可視化を図っていった*1。sugamasao.hatenablog.comN+1問題の解決やデータをmemcachedへ移す作業、追加のindexなどを見ていたけれど最後まで詰められず時間が来てしまった。〜19:00不要なログ出力のOFFなどを準備し、再起動してベンチマークが正しく動くかなどのチェックを始め、18:58くらいにギリギリ最終提出用のイメージをfixすることができた。前回のISUCONはどちらかというとミドルウェアを攻めていけた印象が強かったので、じっくりソフトウェアのチューニングを行うことにはならないだろう......などという先入観があり、プロファイラの導入など、アプリに手を入れるための施策が遅れてしまったのは大きな痛手だった(git化のついでくらいの勢いで導入すべきだった)。あと、ローカルでアプリを動かせるような環境を作れればもうちょっと作業が効率化できたと思うのだけど*2、mysql2のビルドがうまくいかなくて諦めてしまった。0.3系を試すとか、そういう方向の手を打っていた方が良かったかもしれない。一つ、今後やるならチャットツールにサーバ上のログなどの情報を手軽に通知できる仕組みを準備できると、作業時間のロスがなくて良いのかなと思った(とくに具体案はないけど、やってて手間だった)。さん宅におじゃまして一日作業させてくれてありがとうございました。あと、id:koemuさん、id:ariarijpさんともインフラもアプリのコードも書けて素晴らしいエンジニアで、マジ自分は空気だったのでもうちょっと頑張っていかないと厳しいとしか言えない。本当に最後に今年も自分の課題が見えた*3ので、ISUCONは本当に刺激になる良いイベントでした(めっちゃ疲れるけど!)。運営チームのみなさん、ありがとうございました👼*1:ただ、このとき自分は大チョンボをしてしまって、うまく動かないと思って1時間くらい有効活用できなかった。6のコマンド周りで変わる細かい点(rc1調べ)月別アーカイブはてなブログをはじめよう!seiunskyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。