私はnginx + node.jsのセットアップがどれくらい進んでいるか見たいと思っています。追加のパフォーマンスを絞り出すためにどのような変更を加えることができますか?a great article OSに多くの要求に耐えることができるチューニングについて詳しく説明しています。膨大な量の同時リクエストをWebサーバーにシミュレートする方法は?
私はそれがどのようにして1秒間に60,000リクエストを処理するのかを見たいと思う。
私はapachebenchとbeeswithmachinegunsを試しました。 apachebenchは約3500のリクエストや何かにローカルに制限されているようです。並行性を高めることは、何らかの形で平均req/sを減少させるためだけに役立ちます。 私はbeeswithmachinegunsでテストページに~5000リクエスト/秒を見ることができましたが、それはまだ私が望むものに近いところです。しかし、それはバギー側に少しあるようだ。
このような膨大なリクエストをシミュレートする信頼できる方法はありますか?
すばらしく見える、私はそれを撃つだろう。サーバのどの部分が最初にそのような負荷の下で与えるのですか?それはTCPソケットを使い果たすか、単にCPU/RAMの負荷などの問題ですか?私はそのタイプの負荷を無期限に処理できるシステムを構築しようとしています。私はロード・バランシングのためだけにnginxで1台のマシンを使用することを考えていました。これは可能ですか? –
最初にあなたが使い果たしたのはTCPソケットです。 nginx(適切に設定されている)はCPUとRAMの占有スペースが非常に小さくなっています。 Node.jsが増えてコードベースが増え、CPU(および後でRAM)が消費されます。他の言語では、ここでパフォーマンスを向上させることができます(PHP、PHP、OP C、C/C++など)。無期限にはできません。そうしないと、Amazon、Facebook、Googleに簡単に売ることができるシステムになります。ロードバランサとしてのNginxはまったく問題ありません。 – Fleshgrinder
もしnginxが、例えば10台の他のサーバにそれをポーンさせるために入ってくるリクエストを見分けなければならない場合は、ロードバランサとして使用されている場合にTCPソケットで問題にならないのですか?応答ありがとう –