タグ

ブックマーク / toritori0318.hatenadiary.jp (6)

  • microインスタンスはlimitかけると大きくパフォーマンスが向上する(※再追記あり) - アルパカDiary Pro

    ※2014/07/02 T2インスタンスタイプとの比較 を追記しました。 ※2014/03/13 他インスタンスタイプとの比較/m3.mediumの検証 を追記しました。 こちらの記事の二番煎じです。 cgroupで、お手軽CPU使用率制限 なるほど。 リソースにLimitかけるとstealを防げるためパフォーマンスも上がるというわけですね。 どのくらい変わるのか実験してみました。 cgroup前準備 sudo yum install libcgroup sudo chkconfig cgconfig on sudo service cgconfig start cgroup設定 上記参考URLとほぼ同じ設定です。 実行時はcpu.cfs_quota_usを変動させて比較してみました。 sudo vi /etc/cgconfig.conf # 以下を追加 group limittest {

    microインスタンスはlimitかけると大きくパフォーマンスが向上する(※再追記あり) - アルパカDiary Pro
  • supervisor配下でcluster.jsを動かすためのTips - アルパカDiary Pro

    現在nodeアプリケーションをsupervisordでデーモン管理しているのですが、 こいつをcluster.jsでマルチコア対応したところ デーモン管理から外れてしまうという現象が発生しました。 発生する小さなスクリプト var cluster = require('cluster'); var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } } else { app = require('./app'); } このスクリプトで supervisorctl stop すると 子プロセスが落ちないでデーモンとして残ってしまう。 Google先生に聞いてみたところ マスタープ

    supervisor配下でcluster.jsを動かすためのTips - アルパカDiary Pro
  • Socket.IOで動的にnamespaceを追加する - アルパカDiary Pro

    出来る、とはよく見るんですが あまり実例がなかったので書いてみます。 ちなみにnamespace=チャットルーム、みたいなイメージです。 まず、of*1を利用する場合ですが 基的にはクライアントがサーバに接続する瞬間には 既にネームスペースが存在している必要があるかな、と思います*2 つまりこういう流れ。 トリガー発生(クライアントから「create_room」みたいなリクエストが来る / DBから取得 / etc...) サーバ側でネームスペースを追加。 クライアント側では作成されたネームスペースに接続。 今回のAramakiではトリガー(荒巻出現)がサーバ側なので mongodbを定期的に監視して、 荒巻が出現したら動的にnamespaceを追加する、 という実装にしています。 サーバ側コード(一部のみ) // 動的に追加したルームを管理する変数 var rooms = {}; //

    Socket.IOで動的にnamespaceを追加する - アルパカDiary Pro
  • expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro

    最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今までのようなHTTPの単純なリクエスト/レスポンスとは手法が異なりますしどうしたものかと。 そこで「自分はこんな感じでテストしてますよー」という記事を書いてみます。 裏を返せば「もっといい方法あるよ!」というのを聞きたいのです>< サンプルについて socket.ioのexample を使います。 ただし、サンプルではログイン時に遷移しない方式なので もう少し実用的な動作に近づかせるため あえてログインURLから遷移するようにし、 セッションもRedisを使うようにしてexpressとsocket.ioでセッションを

    expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro
  • fluentdで自ホスト名を自動でタグにするの巻 - アルパカDiary Pro

    ※追記 http://d.hatena.ne.jp/tagomoris/20120806/1344240513 さらに書きやすくしていただいたようです! http://d.hatena.ne.jp/toritori0318/20120723/1343059303 この記事の補足です。 上記記事では複数サーバを自動で判別したいがために わざわざplackアプリでコンフィグファイルを動的に生成し、 リモートIPをタグに付け直していました。 しかし偶然にもtagomorisさんのforestというプラグインの存在を知り、 ホスト名取得出来るんじゃね?ということで試してみました。 ログ送信サーバのコンフィグファイル plackアプリを止めて、 ログ送信サーバのコンフィグを以下のように置き換えてみました。 真ん中のrewrite_tag_filterでタグの置き換えを行い、 その際forestのテン

    fluentdで自ホスト名を自動でタグにするの巻 - アルパカDiary Pro
  • fluentd + growthforecastを早速試してみた - アルパカDiary Pro

    Fluentd Casual Talks に参加させていただき、 いろいろと捗る話を聞いていうちに 「Fluentdやばいこれは使うしかない!」 というテンションになったので早速試してみました。 インストール gem install fluent # 捗りそうなプラグインも gem install fluent-plugin-mongo gem install bson_ext gem install fluent-plugin-flowcounter gem install fluent-plugin-datacounter gem install fluent-plugin-growthforecast 今回試すアプリ ping のレスポンスをログって、そのままgrowthforecastに投げて可視化するまでを目標とします。 pingをログるスクリプト use strict; use

    fluentd + growthforecastを早速試してみた - アルパカDiary Pro
  • 1