タグ

ブックマーク / dsas.blog.klab.org (8)

  • ISUCON4 予選で workload=5 で 88000点出す方法 (lily white 参戦記) : DSAS開発者の部屋

    ISUCON4 予選1日目に、 lily white というチームで参戦してきました。 試合中に 62000 点は出していたのですが、最終的に提出したスコアは 60344 点でした。 以降、予選終了までと、その後に気づいたさらにスコアを上げる方法について書いていきます。 実際の提出時のコードは methane/isucon4q-go リポジトリの "final" タグを見てください。 準備 (~前日) 予選方式が発表された時点で、 isucon3 予選と同じ方式だったので、有効な作戦もほぼ同じになる事が予測できました。 具体的には以下のとおりです。 PIOPS な EBS を使わないので、性能が不安定なディスクがネックになる問題は無いでしょう。 1インスタンスのみを使うということから、ネットワーク帯域がネックになる可能性も無いはずです。 ほぼ確実に CPU ネックな問題が出るはずです。 ア

    ISUCON4 予選で workload=5 で 88000点出す方法 (lily white 参戦記) : DSAS開発者の部屋
    tagomoris
    tagomoris 2014/09/29
  • ISUCON3 で惨敗してきました : DSAS開発者の部屋

    KLab からは 「ぜかまし」 が ISUCON 3 の戦に参加していました。 メンバーは私 (@methane) と、 @tenntenn, @hasi_t です。 結果は順位なし (計測時に fail が多かった) と、惨敗というかそれ以前の問題です。 結果は散々だったものの、設問は非常に完成度が高く、とても楽しめました。 作問してくださった面白法人KAYAC様、主催してくださったLINE株式会社様、 環境と懇親会を提供してくださったデータホテル株式会社様、ありがとうございました。 特に問題作成に関わられた方、当にお疲れ様でした。 それでは、どうしてこんな結果になったか、当日の様子を振り返ってみます。 10:00 会場着 3人とも開場時間前後には到着して、ホワイトボードがある会議室を抑えました。 (とはいえ、ホワイトボードは同じ会議室の人にも見えてしまうので、結局使いませんでした。

    ISUCON3 で惨敗してきました : DSAS開発者の部屋
    tagomoris
    tagomoris 2013/11/12
  • Isucon2参戦記(Q) : DSAS開発者の部屋

    男の戦い recaro が使えないことになってメゲそうになったものの、 やれることがまだまだ残っているのに何もせずに負けるわけにはいきません。 「逃げちゃダメだ逃げちゃダメだ」と呟きながら、残り2時間弱でできそうなことは 全部やってしまいます。 @pandax381 に、リバースプロクシで静的ファイルを直接返す設定、死んだ Web サーバーの 代わりにリバースプロクシと同じサーバーとDB サーバーでWebアプリを動かす設定をお願いして、 Webアプリのチューニングを進めます。 Webアプリ側でやったことは、 (1) Webサーバーの meinheld 化, (2) ページキャッシュを アプリから返すのでその高速化, (3) マルチプロセスの対応とチューニング, です。 (3) のマルチプロセス対応ですが、もともとアプリはシングルプロセスで動かすつもりで、 状態やページキャッシュを全部アプリ

    Isucon2参戦記(Q) : DSAS開発者の部屋
    tagomoris
    tagomoris 2012/11/09
  • Isucon2 参戦記(破) : DSAS開発者の部屋

    #isucon2 参戦記の第二部です。昨日の @methane の記事とオーバーラップする部分もありますが、僕の視点で当日の状況をレポートします。やっと nexus7 が手に入ってご機嫌な @pandax381 です。 決戦、渋谷ヒカリエ 当日寝坊してしまうという笑えない展開もなく、受付け開始と同時に入館し、すぐに @methane と合流。開始時間まで1時間くらい余裕があったので「こんな問題だったらここをこうしよう」といった感じで軽く打ち合わせしていました。 そして、@methane が共同作業用にAWSのインスタンスを上げてくれたので、そこに recaro のソースを持ってきたりしていたら、ちょうどいい時間に。 NHNさんからレギュレーションや注意事項の説明があり、いよいよ #isucon2 スタートです。 事前の打ち合わせ通り、僕はベンチマーク用のツールを走らせながら、どんなHTTP

    Isucon2 参戦記(破) : DSAS開発者の部屋
    tagomoris
    tagomoris 2012/11/08
  • Isucon用Webサーバーrecaro : DSAS開発者の部屋

    11/3に開催された #isucon2 に、隣の席の @pandax381 と一緒に、チーム双龍として参加してきました。 結果は惨敗だったのですが、そのレポートを書く前に、 #isucon2 で使う予定だった秘密兵器 recaro について紹介します。 recaro とは recaro はカーネル空間で動く httpd + memcached サーバーです。 httpd サーバーは @pandax381 が作成した tkhttpd で、 memcached は kmemcached というプロジェクトが 未完成のまま放置されていたのを見つけて、私がデバッグ&高性能化したものです。 (KLab/kmemcached) 通常のnginx+memcachedだと ネットワーク <- TCP/IP ]-> nginx <-[ TCP/IP ]-> Memcached ([] はシステムコール) と

    Isucon用Webサーバーrecaro : DSAS開発者の部屋
    tagomoris
    tagomoris 2012/11/06
  • OpenSSL-1.0.0 でのハッシュリンク使用は要注意 : DSAS開発者の部屋

    先日(03/29)、OpenSSL のメジャーバージョンアップ版 1.0.0 がリリースされました。 ちょうど1年ほど前から beta リリースが出ていましたが、ついに正式にリリースとなりました。 早速ソースコードをダウンロードして試してみたところ、気になるところを見つけたので記事にします。 サブジェクトのハッシュ OpenSSLには、証明書や CRL に含まれるサブジェクトや発行者名を 8文字で表現されるハッシュ値に変換する機能があります。 このハッシュ値は、OpenSSL のコマンドラインや SSL/TLS の実装として OpenSSL をリンクしているアプリケーションに対して、個々の CA証明書や CRL のファイルをディレクトリごと指定する際にファイル名として使用します。 $ openssl x509 -noout -hash -in hoge.pem このようなコマンドラインで、

    OpenSSL-1.0.0 でのハッシュリンク使用は要注意 : DSAS開発者の部屋
    tagomoris
    tagomoris 2012/05/28
  • KLab勉強会#6のお知らせ : DSAS開発者の部屋

    tagomoris
    tagomoris 2012/05/23
    「牧内 大輔」を「牧 大輔」に空目した
  • 過負荷をかわす Apache の設定 : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の9日目です。 前回は php を動かしている Apache の手前にリバースプロキシを 置く必要性を解説しました。 今日は、 その前の php のプロセス数を絞る設定と合わせて、実際に Apache で 設定する方法を紹介します。 以降、 php を動かしている Apache の事をアプリサーバー、リバースプロキシ+ 静的ファイル配信を行っている Apache の事をプロキシサーバーと呼びます。 基設定 まずは基的な設定のおさらいです。 アプリサーバー 並列数を絞るには MaxClients を設定します。アプリがどれくらいの時間を CPUの処理で使って、どのくらいの時間を外部リソース待ちに使っているかにも よりますが、だいたいCPU数の1.5倍〜2倍くらいが適当だと思います。 Hyp

    過負荷をかわす Apache の設定 : DSAS開発者の部屋
    tagomoris
    tagomoris 2011/12/14
  • 1