タグ

2011年9月1日のブックマーク (3件)

  • #isucon ベンチでいかにチートするか: その1 - 敵はhttp_load - たごもりすメモ

    チート対策とhttp_loadに仕掛けた罠の話 #isucon - blog.nomadscafe.jp このエントリに刺激されたので、自分でも事前に大丈夫かなーと思っていたものの最終的には対処しなかったチート穴の攻略を今朝明確に思い付いたので書いてみる。 その2以降を書く予定は今のところありません。 isuconベンチの構造 ベンチマークとチェックツールを含めた全体的な構造については前出のエントリの通りだが、更に加えると、isuconのスコアは http_load によるリクエストの処理数のみによって決まる、という特徴がある。Node.jsで書かれたチェッカなどからもそこそこ(少なくとも秒間3リクエスト)のGETが来るが、最終的なスコアから考えると誤差と言っていい数値。 ということで、チェッカへのレスポンスを確実に返すこととhttp_loadのリクエストに高速に応答することが重要だ。 h

    #isucon ベンチでいかにチートするか: その1 - 敵はhttp_load - たごもりすメモ
  • #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店

    前のエントリ #isucon で優勝してきました は当日夜に酔っ払った頭で勢いで書き上げたので、少し冷静に振り返ってまとめてみます。 最初のボトルネック発見 DBCPU 4コアをフルに使って回っているのですぐに Query が重いのは分かった 重いクエリはキャッシュすれば、という発想は自然 (実際 MySQL のクエリキャッシュだけでスコアは 1.5倍程度上がる)、とはいえ このクエリは実行に 300〜400 ms 程度かかる アプリケーションの要件上、毎秒更新する必要がある 1秒ごとに更新に 0.3〜0.4秒かかる処理をするのは悪手だろう cache が消えてから生成、とすると生成処理が複数同時に走って無駄が大きい (実際ベンチマーク中の slow query を見ると 600〜700 ms 程度の時間が掛かっていた) ということで、DB のテーブル構成を変更して高速化できないか、

    #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店
  • #isucon に行ってきました (team_karakaniチーム) | カラカニのメモ帳

    こんにちは。ほぼ1年に1回しか日記を書かないkarakaniです。重い腰がようやく上がり日記を書いてます。 #isucon 行ってました。[[@mutotaiju>https://twitter.com/#!/mutotaiju まとめと反省点 ・地道なボトルネックの調査は重要。 ・時間的な制約がある中で新しいことはやらないほうがいい(最近使い始めたGitを使おうとしたけど無駄に時間使った) ・経験も重要(他のチームのブログ見ててとても参考になりました) やったこと 次のことをしました。 1. アプリケーション(データベースへのアクセス)のパフォーマンスアップ 2. 静的コンテンツの扱い・リバースプロキシの設定 3. キャッシュ戦略(失敗) キャッシュ戦略は中途半端、というかできませんでした。 データベースはデチューニングされているのでは? という声がありましたが、私たちのチームではほとん