2017-12-20 9 views
0

複雑な計算(基本的な算術演算ですが、たくさんあります)を備えたSpringブート1.5.x Webアプリケーションを開発しています。アプリにI/Oはありません。各要求には約100〜200msかかる。サーブレット3.1のパフォーマンスを持つCPUバインドされたWebアプリケーション

私たちはそのアプリケーションの負荷が比較的高いと予想しています。サーブレット3.1(リアクティブスプリング、vert.xなど)がスループットを向上させるかどうか疑問に思っていました。

サーブレット3.1はI/Oバウンドアプリケーションのスループットを改善するのには良いと言われていますが、CPUバインドされたアプリケーションのベンチマークは見つかりませんでした。

+0

スループットが向上し、パフォーマンスが向上しません。要求処理スレッドは、別のスレッドに作業を渡します。つまり、ページを処理するような別の要求を処理できます。代わりに通常は何が起こるのかをブロックし、要求が完了するのを待ちます。そう、それはあなたのパフォーマンスを向上させませんスループットを向上させる可能性があります。サーブレット3.1を使用することは、あなたのパフォーマンス(一般的には)は改善されませんが、スケーラビリティが改善されるまったく異なるアーキテクチャのリアクティブなアプリケーションを構築することとは関係ありません。 –

+0

ご回答いただきありがとうございます。回答としてお送りいただければ承諾いたします。私は用語を使いこなすかもしれませんが、実際にServlet 3.1が意味していたことは、この記事に書かれている「Servlet 3.1 non-blocking I/O」です。https://docs.spring.io/spring-framework/docs/5.0.0 .M1/spring-framework-reference/html/web-reactive.htmlを参照してください。 – user3395221

答えて

0

Springブート(サーブレット3.1の仕様は2013年にリリースされました)を使用している場合は、既にサーブレット3.1を使用しています。現在使用しているものがわからないので、と思ってはいけません。のことをお考えください。

アプリケーションの負荷テストとプロファイルを行い、パフォーマンスのボトルネックを確認します。それだけで、何ができ、何が行われる必要があるかを決定することができます。

関連する問題