タグ

ブックマーク / blog.everqueue.com (7)

  • #isucon 5 予選、惨敗でした | へぼい日記

    毎年でているISUCONに今年も山形組として参加してきました。 今年もオンライン予選があり、9/26(土)の一日目に参加し結果は最高スコアが3000を少し超えるぐらいで惨敗でした。 簡単に何をしたのかをまとめると 事前作戦会議 チーム数多いしボーダーあがって厳しいことになるだろうしトップ狙うつもりでやらないとだろうなとは思ってます イチかバチかで飛び道具でも使って普通じゃないことをやらないと勝てないと思い込み kazeburoさんのこの時のエントリなどを読み込み脳内素振りを繰り返す。 当日 11:00 動作確認、コードリーディング 11:30 apt-get update;apt-get dist-upgrade;apt-get install xxx,xxx,xxx & reboot diskがroの罠にはまる。解決策はわからず、instance作り直し 12:30 第一回作戦会議 今回

  • #isucon 4 本選10位で惨敗でした | へぼい日記

    ISUCON4戦に毎度おなじみ山形組で参加してきました。結果は既報の通り、われわれは8千点前後の団子状態から抜け出すことはできず、60倍以上のスコアを叩き出したLINE選抜チームが連覇となりました。おめでとうございます。 ISUCON2で2位を取って以来、ISUCON3で5位、そして今回10位と順位を下げ続けており、年々高まる参加者のレベルが恐ろしい限りです。 やったこと redisを落として当のインメモリDBアプリ化(aサーバ) 「来年、もう一度来て下さい、当のインメモリDBアプリで優勝させますよ」 slot-IDベースでのnginxによる3台のサーバへの動画postの振り分け ad-IDはaサーバのアプリに問い合わせて発番した上で動画ファイル保存 asset-URLをあらかじめslot-IDベースで3台のサーバのアドレスに分散 nginxからmp4を直接serve –hostsは

  • #isucon 4 予選参加してきました | へぼい日記

    毎年でているISUCONに今年も山形組として参加してきました。 今年もオンライン予選があり、9/27の一日目に参加し結果は暫定で7位でAMI審査に問題がなければほぼ予選通過はすると思われます。 で、今年は何をやったか、というとあいも変わらず去年と同じことをしておりました。去年と同じ方式でかくと やったこと 静的ファイルはnginx serve アプリ全書き換え 1fileなPSGI データはすべてオンメモリ 永続化はテキストファイルへ追記 nginx embedded perl + Plack::Handler::Nginx ←NEW! 最終形の構成をgithubにおいときました。 やれなかったこと 無し 最終提出スコア –workload 8で 62145 コンテスト中の流れ 事前にHDD8G メモリ15Gのm3.xlargeインスタンスだとわかっていたので、それがボトルネックの解消につ

    kazeburo
    kazeburo 2014/09/29
    Plack::Handler::Nginx !!!!!
  • #isucon 負けてきました | へぼい日記

    ISUCON3戦に毎度おなじみ山形組で参加してきました。結果は過去2回の出題者チームであるLINE選抜チームが圧倒的スコアで優勝という結果で、さすがでした。 うちは一応番計測で完走したため5位という結果でしたが、途中経過では11位ぐらいをさまよっていましたので惨敗といって良いと思います。 ちなみに、予選も含めた過去4回の番計測すべてを完走しているのはうちだけじゃないでしょうか。パーマネントなチーム自体が少ないので個人単位ならいるかもしれませんが。 やったこと nginx化 serve static x-accel-redirect 既存画像の事前リサイズ 新規画像のPOSTはオリジナルを置くだけにして、リサイズをApp::watcherで実施 明らかに無駄なコードの最適化 やれなかったこと インメモリDB化 画像ファイルのストレージ分散 新規画像のリサイズ処理のCPU分散 コンテスト

  • #isucon 3 予選総合3位でした | へぼい日記

    毎年でているISUCONに今年も山形組として参加しております。 今年からオンライン予選があり、10/5の一日目に参加し結果は現在のところ暫定で3位で予選通過の予定です。 暫定なのは使ったサーバの運営側による検査が残っているためです。 で、今年は何をやったか、というとあいも変わらず去年と同じことをしておりました。去年と同じ方式でかくと やったこと アプリ全書き換え 1fileなPSGI https://gist.github.com/nihen/6852251 feersum(1プロセスマルチスレッド) データはすべてオンメモリ スレッド間でシェア 永続化はテキストファイルへjsonで追記 html renderのキャッシュ(といってもmarkdownぐらいか) リバースプロキシをnginxにして静的ファイルもそこでserve やれなかったこと benchmark –workloadの試行

  • DBD::mysql 4.020がリリースされました | へぼい日記

    DBD::mysqlの4.020が昨日リリースされました。 このリリースにはmysql_server_prepare=1を使っている場合のバグの修正が5件ほど含まれています。(ChangeLog) DBD::mysqlmysql_server_prepare=1 のとき TEXT 型の欄が自動 utf8::decode されなくなる こちらのブログで指摘されていた件を直してパッチを送ろうと思っておもむろにmysql_server_prepare=1の状態でDBD::mysqlのテストを実行したら失敗しまくったため、もう駄目かもしれないと思ったのですが、何故かmysql_server_prepareと心中する腹をくくり一応すべてのテストを通すようにパッチを送りまくってみたところ取り込まれたという感じになりました。(リリース後に2つほどさらにpull reqしていますが…。) TEXT型

  • Gearmanのはまりどころ | へぼい日記

    最近Gearmanに入門しているのですが、いろいろとはまったのでメモ。 $worker->workは”Do one job”ではなくDo job loop Gearman::WorkerのPODには $worker->work while 1; みたいなサンプルが書いてあったり Gearman::Job->work(%opts) Do one job and returns (no value returned). You can pass "on_start" "on_complete" and "on_fail" callbacks in %opts. って書いてあるのですが(しかもこれは、Gearman::JobではなくてGearman::Workerだし、、、) workはオプション無しで呼ばれた場合はwhile 1なんかなくてもloopします。 work_once的な動きにしたい

  • 1