回答編集履歴

1

c10k問題について追記

2016/12/24 20:33

投稿

mit0223
mit0223

スコア3401

test CHANGED
@@ -7,3 +7,23 @@
7
7
 
8
8
 
9
9
  ただし、そのようなことになるほど、CPU依存性が高いアプリケーションは少ないのも事実です。データベースへの問い合わせやファイル I/O などは、 node.js のスレッドのCPUを消費しませんので、通常は node.js の CPU を使い切るまえにそれらの性能がボトルネックになります。
10
+
11
+
12
+
13
+ > 上記が正しいとすれば、現状のスペックでさばききれない量のリクエストが来た場合は、スケールアウトで対応するしかないということでしょうか。
14
+
15
+
16
+
17
+ ちょっと気になったので追記します。
18
+
19
+ 「スケールアウトで対応するしかない」の意味が「マルチスレッドならそうはならないのに、シングルスレッドで並列化ができないせいで、サーバを増やすしかない」という意味であれば、それは間違っています。
20
+
21
+
22
+
23
+ ユーザ数が増えて同時アクセス数が増えたために「さばききれない量のリクエスト」がくる想定であれば、マルチスレッドのアプリケーションサーバではスレッド間の排他制御、コンテキストスイッチ、スレッドのメモリ消費が理由でnode.js より圧倒的に不利であることがわかっています(c10k問題と呼ばれています)。つまり、 node.js でさばききれないのであれば、マルチスレッドでもさばききれません。
24
+
25
+
26
+
27
+ 参考:[c10k問題](https://ja.wikipedia.org/wiki/Node.js#.E4.B8.80.E4.B8.87.E5.90.8C.E6.99.82.E3.82.A2.E3.82.AF.E3.82.BB.E3.82.B9_.28C10K.29_.E5.95.8F.E9.A1.8C)
28
+
29
+