2014年10月8日のブックマーク (6件)

  • ISUCON4 予選でスコア30万点以上を出す方法 #isucon - heboi blog

    山形組提出コード https://github.com/nihen/isucon4_yosen_yamagatagumi/tree/master 1プロセス オンメモリ nginx embeded perl ./benchmarkerv2 bench --workload 8 type:score success:290030 fail:0 score:62651 GOGC=off ./benchmarkerv2 bench --workload 8 type:score success:452310 fail:0 score:97702 提出後のチューニング https://github.com/nihen/isucon4_yosen_yamagatagumi/tree/more_optimize indexの完全静的出力 ./benchmarkerv2 bench --workload

    ISUCON4 予選でスコア30万点以上を出す方法 #isucon - heboi blog
    dekokun
    dekokun 2014/10/08
  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
    dekokun
    dekokun 2014/10/08
  • Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社

    Railsで大きなファイルを扱う際のポイントをまとめてみました。 前提 大きなファイルとは だいたい100MB~10GBくらいのファイルをダウンロード・アップロードするのを想定することにします。 数MB程度だと、特別な工夫なしでもそれほど問題になりません。10GBを超えてくると、気をつけるべき点が変わってくるかと思います。 以下では主にサンプルとして、1GBのファイル(ISOファイルやZIPファイルなど)を想定します。 環境 以下のような環境を想定します。 Railsは4系 Nginx + Unicornのスタンダードな構成 サーバ1台のシンプルな構成(ロードバランサを使用した複数台構成については、末尾に少し記載しています) ダウンロード ファイルのダウンロード まずは、Railsアプリから大きなファイルを配信するケースを考えましょう。 たとえば、ISOファイルをサーバ内に保存しておいて、

    Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社
    dekokun
    dekokun 2014/10/08
  • LinuxでCPU使用率を上げるコマンド - ablog

    いいものを見つけたのでコピペ。 yes >> /dev/null & 最後に & お勧め w(二つターミナルが必要でなくなる。) ちなみに メモリ負荷をあげる魔法のコマンド /dev/null < $(yes) & LinuxCPU負荷を上げる魔法のコマンド - Qiita ">>" は ">" でも良いと思うが、何か特別な理由があって">>"にしているのだろうか。 追記(2014/10/08): ただのメモにはてブがたくさん(当社比)ついてビックリ(^-^; コア数に対する考慮が足りない。 コア数に対する考慮が足りない。 - gomakyuのコメント / はてなブックマーク とコメントを頂いた通り、上記のコマンドを実行しても1つの論理CPUを使い切るだけです。 例えば上の図の通り、1ソケット * 4コア * 2スレッド で論理CPU数が8の場合は、ざっくり、1多重で実行すると12.5%

    LinuxでCPU使用率を上げるコマンド - ablog
    dekokun
    dekokun 2014/10/08
    疲れた時はyesコマンドの出力をじっと眺めると心安らぐよ!
  • bashにありがとうを言う方法はありますか? 今年になってRubyとRのお勉強を始め、最近になってちょっとだけMacのbashを使うようになりました。…

    bashにありがとうを言う方法はありますか? 今年になってRubyとRのお勉強を始め、最近になってちょっとだけMacのbashを使うようになりました。 RubyやRは、たくさん書き溜めてから「よろしく!」ってやるとMacが動き出す感じですが、bashはひと言ずつやりとりするので会話みたいです。 ふつう、LINEとかでだれかと会話してたら、最後に「ばいばーい」とかしますよね。 Siriさんにもしますよね。 それのbashバージョンってないんですか? まとめ:bash使い終わるときに「今日もありがとう!」とかって伝える方法はありますか?

    dekokun
    dekokun 2014/10/08
    優しい子や…
  • ssig33.com - Jenkins で Rails アプリを docker build する話

    Rails アプリを Docker で稼動させる際に、 Gemfile と Gemfile.lock を先に ADD して bundle install してからアプリケーション全体を ADD することで、 bundle install の結果をキャッシュする手法はよく知られています。 ADD Gemfile /app/Gemfile.lock ADD Gemfile /app/Gemfile WORKDIR /apps RUN bundle -j4 ADD . /app こういうやつ。 ところがこの手法は Jenkins のように毎回リポジトリが clean にチェックアウトされる環境では全く無効です。 何故なら、 Docker は ADD するファイルが更新されているかどうかを、ファイルの中身そのものではなく、タイムスタンプなどのメタデータで確認しているからです。 git checko

    dekokun
    dekokun 2014/10/08
    bundlerのjオプションを初めて知ったのであった。