2014年09月29日

書いてる人

ISUCON が始まる直前のエンジニアチューニングコンテストで、レギュレーションで「特定のディレクトリ以下のファイルを弄ったら失格。それ以外は自由」って競技があったので、特定のディレクトリ以外の htppd.conf をいじって documentroot を変更して、ぶっちぎりのスコアをたたき出したら、ぶっちぎりすぎたと言う理由で失格になってマジイラっと来た人間。

最初やった事

  • レギュレーションを良く読む
  • テンプレートファイルを良く読む
  • ベンチマーク実行する
  • ベンチマークの User-Agent を見る
  • 任意の Set-Cookie を返してもちゃんと処理するかどうか見る
  • ログを awk ... | sort | unic -c |sort -r | more
  • static file を.gz してファイル圧縮対応してる client かどうか試して無理なの確認する
  • ベンチマークのバイナリを vim で開く
  • strings ベンチマークのバイナリ
  • ベンチマークで定義してる XPath に対して、 fail する条件を確定させる

やらなかったこと

  • in memory storage(FAQみたらこれアウトなの確定してた)
  • 公開されてる予選レギュレーション「レスポンス(HTML)のDOM構造」と「ブラウザで表示した際の見た目(問題ない範囲で)」と、実際のベンチマークバイナリから得た加点対象に最適な DOM 出力、そして実際の見た目で使用しうる User-Agent とベンチマークの User-Agent の差異を考慮した最短解
  • 実際正しくレスポンス返しても誤差にしかならないもののレスポンスを捨てる行為
  • IS NOT NULL なレコード作らんだろ!っていって、それ省く事

やったことの一部

  • url の ? 以下が付与されてても加点に影響しない事を利用
Posted by Yappo at 2014年09月29日 02:34 | TrackBack | 適当
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。