回答編集履歴
1
c10k問題について追記
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
|
+
|