タグ

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

  • socket.ioでxhr-pollingのコネクションが詰まる件(解決 - アルパカDiary Pro

    ※2012/01/09 追記 続きもあるよ あらすじ 先月晴れてsocket.ioクラスタがデビュー。 しかし想定していたよりxhr-polling接続が多くてフガフガな状況に。 こりゃxhr-pollingの性能評価もしとくべきだったなーと思いを馳せるアルパカ。 そこでsocket.io-clientでベンチマークを走らせたのだが websocketと時と異なりコネクションがすぐに詰まるという自体が発生…! アルパカ大明神の運命やいかに!? 現象 socket.io-clientでxhr-pollingのコネクション貼りまくると5コネクションで詰まる。 時間が経つとその内ヌルッと進む。 chromeやfirefoxでも同様。 調査 様々なクライアントから実行しても同様の状況が見られたため サーバの問題と断定しサーバ調べる。 しかしコード追ったりトレース取ったりしてもまったく原因わからず…

  • 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
  • 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
  • 1