blogいつまでも見習いエンジニア2014-10-06isucon4予選で33000点あたりでFAILする方法イベント今年初めて、ISUCON4の予選2日目に出ましたので、参加のいきさつから予選FAILで終了するまでを書きます。今年はISUCON出ようと思って社内でメンバーを募りました。→元元Pythonエンジニア、元インフラエンジニア、現Perlエンジニア・Nさん→元PHPエンジニア、現アプリエンジニア・Hくん→PHP経験の長い、今年の新卒Perlエンジニアの3人チーム「ぐれい」で出る事になりました。・去年の予選問題で練習(https://github.com/alarky/isucon3_perl)MySQLをRedisに置き換え、可能な限りvarnishでキャッシュしたりしてスコア60000くらい出てました。ここで慢心して大して準備しなかったのがまずかった・3人共通で得意な言語がない中、「どうせなら3人ともできないGo覚えて出よう」と言ったものの、予選まで1週間では3人とも到底ムリでした。KYTProf)の仕込み等を行いました。・12時頃、ベンチマークの動きや機能とコード、クエリを見てMySQLでのチューニングは捨ててlogin_log周りをRedisでのカウンタ式に置き換え、usersはプリロードしておく方向に決定し、担当領域を決めました。アクセスについて下記の設定を行いました。手元のブラウザ(Chrome)では意図した通りに動いていました。ベンチマークではFAILが出まくる。固定なのかもしれないと、ここでキャッシュ化を諦めるlogin_log周りのRedis化14時過ぎにはスコア33000くらいまでなり、うまくいってました。ついてはチューニングしなくても良い箇所なのでこの時点ではまだ対応しておらず、スコア送信はできていませんでした。Redis化対応してもなぜかベンチマークがこけるらしい何度修正してもreportがこけるらしい初心に返ってもともと発行していたクエリを見直すと、そもそもの解釈が間違っていた事が判明。この時点で17時頃だったので全員で再実装。バグを作ってしまい、FAILが増える増える。有効なスコアが送信できないまま、10時過ぎに動作確認した時の初期スコアが最初で最後の有効スコアになりました。(そしてベンチマークが通る状態のAMIじゃないので、失格です。)感想すごく楽しかったですし、勉強になりました。早くから予習するとかそういう事じゃなくて、普段からいろいろとやっておくべきですね。その反省からこのブログを始めました。Nさん、Hくん、一緒に参加してくれてありがとうございました!ISUCON運営の皆さん、参加者の皆さん、ありがとうございました!来年リベンジしたいと思います。行ってきた月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!alarky1さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。