- 2017/10/29 日曜日 13:10:52
- ISUCON
毎年でているISUCONに今年も山形組として参加してきました。
結果は71位ということで、つまり惨敗してきました。
やったこと
選んだ言語はPerlでした。やれたことは、
- 全3台でnginx/app 1台でDB構成に
- index貼り
- (中途半端だけど)クエリチューニング
- 既存画像のファイル化と全3台への配置
- 新規画像のファイル化と他2台への配置
- /fetchだけfeersumにしてプロセスが詰まらないように
- /fetchをsleep 9秒にして新規投稿があったらすぐに返すように
で、Bestスコア 81,227, 最終スコア 50,956
やれなかったこと
競技後のネタバラシで気づいたことは
- Cache-Control: public
- 画像ファイルの更新時間あわせ
後者は完全なる自分のミスで、競技中にEtagが揃ってるかということは気にして確認したのですが、たまたま確認したファイルは揃っていた(か確認ミスしていた)ため、強制的に揃える仕組みで配置していなかったことに気づかず終わりました。
画像をファイル化してからボトルネックが帯域だと分かっているのに4時間ほど何もできないままでした。
本戦出場されているみなさんのblogをみていると、リクエストHTTPヘッダを冷静に分析するとか、Cache-Controlの仕様を読み直すとかやれることは確実にあったので、実力不足を痛感しました。
Cache-Control: public
これつけなくても普通はキャッシュするジャンスカともやっとしていたのですがRailsのアセットパイプラインのドキュメントだとpublicをつけることが例示されていて、実際にGCPのCDNでは“Cache-Control: public ヘッダーがある。”というのがキャッシュの条件として明示されていることも確認できました。
静的ファイルのCache-Control: publicは今後は実務でもつけていこうという知見を持ち帰ることができました。
来年
人任せなので希望でしかないですが、来年あったらまた参加したいです。
出題チームのKLab、主催のLINE、サーバー提供のSAKURA internetの皆様、本当にお疲れ様でした。本戦もよろしくお願いしますといえないのが非常に残念ですが、本戦の様子がレポートされるのも楽しみにしております。
コメント:0
トラックバック:0
- この記事のトラックバック URL
- https://blog.everqueue.com/chiba/2017/10/29/819/trackback/
- トラックバックの送信元リスト
- #isucon 7 予選敗退しました - へぼい日記 より