ソバガラマクラスマートフォン用の表示で見るソバガラマクラこの広告は、90日以上更新していないブログに表示しています。@m0t0k1ch1というわけで当日周辺の出来事、やったことなどを振り返りつつ戦いの記録を残します。実はあまりよく覚えていないが、いつの間にかメンバーになっていたらしい。予選当日から一月程前に肉を食いながらチーム名を決めました。m0t0k1ch1st0ryを参照ください。'z'を付けたのは私です。repo作成を行いました。練習ぶっつけ本番はまずかろうということで事前に練習を行いました。集まれたのは2回ほど。Storageオブジェクトとして提供されていたためそちらを実際に解いていく形でやりました。決めた私の分担範囲としてはアプリケーションに対する変更をdeployしたり、同時にbenchmarkを走らせたりという環境整備でした。結果をslackに通知といったあたりをpush以降自動で行えるように整備しました。hookを実際に動かせたので良い練習になりました。idを渡すものだというあたりに小一時間ハマったりしていた。い慣れた会社の会議スペースを借り、準備しました。ご覧いただくとわかるように、起床がISUCON参加者たちの最初にして最大の難関であります。chatzmersは開始1時間前には全員が揃っており、無事に競技開始を迎えられました。やったことまずは練習と同じくdeploy環境、benchmark環境を用意するということをやりました。repoは練習と同じものをディレクトリを切って使ったのでツール類はほとんどpathの書き換えくらいでしたが、systemd慣れしていなかったことと、benchmarkが専用のポータルサイトからリクエストする形式でしたので、pushしたらcheckoutするよ、というくらいのところまでになってしまいました。アプリを読みまくるというような分担で進めていました。この辺り、誰かが待ちになってしまうようなことなく、作業に入れたのは非常に良かったと思います。一通り計測ツール、deploy環境が整ったあたりで@Maco_Tasuがめぼしいボトルネックを挙げ、それを分担して改善していきました。問題のアプリは少し懐かしい香りのするSNSサイトでISUCON4に比べるとかなり重厚。ユーザー、フレンド、記事、コメント、足あとなどを主な機能とするものでした。私は主に足あと周りとコメント周りを担当しました。byの無駄な指定を省きました。setだなーというアイディアはありましたが、一旦保留に。コメントは、redisを使って参照の高速化を図りましたが、mysqlから初期データを読み出すところでinitializeの時間制限に関するレギュレーションに違反してしまい、うまく行きませんでした。set案も諦めてしまいました。答え合わせidobataでfujiwara組(予選総合1位)からaofで〜というのが出ててなるほど流石という感じ。m0t0k1ch1st0ry方針、暗黙のチームルールっぽいもの実はこの3人、新卒時に社内で行われたミニISUCONに(それぞれ別のチームで)参加したことがあります。その時は新卒勢は全員fail(記録なし)という散々な結果でした。いうのに加え、自社サービスの保守、運用を主な業務としているメンバーでしたので、不可逆な変更、大きな変更に対しては注意深くすすめる事ができました。変更は基本的に各自のbranchで多種の変更を同時に(同じbranchで)行わないpush前にbenchが実行中かどうかを確認benchにfailしたもの、スコアが上がらなかったものはmasterに取り込まないというようなことを違和感なく、スピードを落とすことなく実行できたのはプラスになったと思います。一方で初期データの破損を恐れて、schemaの変更を避けたり、redisへの置き換えを早々に諦めたりしていたので、snapshotからの復元や別インスタンスを立ててバックアップとするなど、クラウドプラットフォームらしい可逆性の担保も視野に入っていればもう少し大胆な改修もできたかなぁというところです。まとめISUCON楽しい!楽しかったです!8時間まるまる集中してて最後は本当にヘトヘトでしたが、ものすごく充実感がありました。メンバーの2人も同じ会社とは言え一緒のプロダクトで関わったことがなかったので新鮮でした。parallel月別アーカイブはてなブログをはじめよう!t1macrggsさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。