4

おそらく、質問に答えるのはそれほど簡単ではありません...しかし、あなたの意見は何ですか? ノンブロッキング アプローチ (libevent など) を使用するか、erlang の軽量プロセスを使用して、次のことを行う必要があります。

  1. 一定量の RAM で可能な限り多くの接続を実現する
  2. 一定量の CPU で可能な限り多くのスループットを達成する

背景は、パブ/サブサーバーのコーディングを計画していて、どのアプローチを使用すべきかを判断できないということです。

4

2 に答える 2

2

内部では、Erlang VM はノンブロッキング IO を使用します。Erlang 軽量プロセス ブロックの場合、VM は実際にはカーネル レベルのスレッド コンテキスト スイッチを実行しません。ほとんどの場合、同じ OS スレッドで別の LWP をウェイクアップするだけです (したがって、正しい意味での「ブロッキング」ではありません)。

+A 引数を使用して vm を開始し、割り当てる IO イベント ループ スレッドの数を指定することもできます (私の知る限り、Node.js はまだシングル スレッドであり、コールバック関数がハングした場合、VM は終了します)。

于 2011-05-12T09:02:19.863 に答える
2

そこで読むことができるMochiweb を使用した 100 万ユーザーのコメット アプリケーションの作成に関する 1 つの記事。しかし、ほとんどの場合、安定性、柔軟性、保守性がより重要になると思います。これを念頭に置いて、より優れたパフォーマンスのソリューションがあったとしても、Erlang 以外のことは考えません。

于 2011-05-12T11:46:01.360 に答える