3


JSON文字列を送受信するJava Webアプリケーションに取り組んでいます。JSON は jersey を介して生成され、jaxb アノテーション付き pojo にマップされます。

アプリケーション自体はそれほど複雑ではありませんが、大量のトラフィックの下で動作する必要があります。私は2つのアプローチを試みました。最初のサーブレットはコンテナーとして jetty をベースとし、2 つ目はオラクル HttpServer クラス (「HttpServerFactory.create(..)」を介して jetty を使用) を使用するコンソール アプリケーションとしてベースになります。

両方のバージョンを apaches ab ツールでテストしました。100 の同時実行レベルで 10,000 のリクエストを実行しました。驚いたことに、コンソール アプリケーションは応答に必要な時間が大幅に短縮され、転送速度が速くなりました。私は反対の結果を期待していました。

単純なコンソール アプリは、小さなアプリケーションのパフォーマンスに関して本当に優れたソリューションでしょうか? ありがとう。

4

1 に答える 1

0

詳細な情報がなければ、コンソール アプリケーションが Jetty サーバーよりも高速に実行された理由を判断することはほとんど不可能です。

埋め込まれた Jetty インスタンスは、(そのアプリケーションで) 不要なサーブレット API の部分を取り除き、それによってオーバーヘッドを削減できるため、組み込みの Jetty インスタンスは Jetty サーブレットよりも少し高速に実行できると期待しています。違いが大きいとは思いません。

しかし、あなたが実行したような小さなベンチマークでは、(サーバーまたはベンチマークのいずれかで)構成の問題が結果の違いを生み出していると疑う可能性がはるかに高くなります.

于 2011-11-02T01:44:46.807 に答える