タグ

ブックマーク / sfujiwara.hatenablog.com (5)

  • ISUCON5 で優勝しました - 酒日記 はてな支店

    ISUCON5、予選を無事通過して10/31(土)に開催された選に参加し、優勝しました。 チームは ISUCON 1 の時の初代「fujiwara組」再結成ということで、@songmu, @sugyan とのカヤックの元同僚メンバーです。 最初に、毎回素晴らしいイベントを開催、運営していただいている @941 さんをはじめとした運営チームの皆様、出題の @tagomoris さん、@kamipo さん、他すべての協力いただいた皆様に感謝を申し上げます。当にありがとうございました! 競技開始からベンチ実行まで 作った #isucon pic.twitter.com/5RZkPUsaPu— fujiwara (@fujiwara) 2015, 10月 31 ロゴがなかったので作った。 競技開始、まずは3台で相互にsshできるようにするのに一瞬戸惑う。port 22は開いていて、会場からは接

    ISUCON5 で優勝しました - 酒日記 はてな支店
  • RSS対応NICなのに割り込み処理が複数コアに分散しない…のはirqbalanceが動いてなかったから - 酒日記 はてな支店

    タイトルがすべてでございます。 NICの割り込み処理が1コアに集中してしまい、ボトルネックになって性能が出ない場合があるという話は最近広く知られていると思います。 NICのハードウェアレベルで割り込みを分散してくれる RSS(Receive Side Scaling) という仕組みがあり、それを利用すれば特になにもしなくても複数コアに分散されるはず、と思っていたのですが、どうも特定のマシンでそうならない。 # cat /proc/interrupts CPU0 CPU1 CPU2 (省略) CPU11 64: 1256214 0 0 ... 0 IR-PCI-MSI-edge eth1-0 65: 225711 0 0 0 IR-PCI-MSI-edge eth1-1 66: 402906 0 0 0 IR-PCI-MSI-edge eth1-2 67: 723539 0 0 0 IR-P

    RSS対応NICなのに割り込み処理が複数コアに分散しない…のはirqbalanceが動いてなかったから - 酒日記 はてな支店
    dnsystem
    dnsystem 2012/12/26
  • #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 で優勝してきました - 酒日記 はてな支店

    なんでもありのWebアプリケーション高速化バトル、#isucon に会社の同僚 @Songmu @sugyan と3人で、fujiwara組として参戦してきました。結果、幸いにも優勝を勝ち取ることが出来ました。 こんなに楽しいイベントを企画、運営していただいた Livedoor の皆様、当にありがとうございます!! さて、ざっとチューニングした経過などを記録しておきます。 [追記] もっと詳しいレポートを @Songmu が上げているのでそちらもご覧ください おそらくはそれさえも平凡な日々: #isucon で優勝させてもらってきました [さらに追記] #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店 自分でももう少し詳しく振り返りエントリ書きました。 まず説明を聞いて、環境を作るところから。IPアドレスでは作業がしにくいし事故も起こりそうなので、host

    #isucon で優勝してきました - 酒日記 はてな支店
  • 昭和の写真ジェネレータの作り方 - 酒日記 はてな支店

    予想外に人気を博してしまった 昭和の写真ジェネレータ(仮) ですが、画像加工の方法を公開しておきます。 [追記] 以下のコードは説明用です。なお、実際に動いているコード(に限りなく近いもの) を CodeRepos に up しました。svnはこちらから 用意するもの。 Perl Imagerモジュール 元ネタの画像 モジュールを load して、画像を Imager オブジェクトに読み込みます。 use Imager; use Imager::Fill; use List::Util qw/ min max /; my $img = Imager->new; $img->read( file => "source.jpg" ); コントラストを落とします。 $img->filter( type => "contrast", intensity => 0.7 ); 少々ぼかします。(小さい

    昭和の写真ジェネレータの作り方 - 酒日記 はてな支店
  • 1