1

最初に、単純なスプリング REST コントローラーを作成しました

 @RequestMapping(value = "/id", method = RequestMethod.GET)
    public String getDetails(@PathVariable("id") String id) {
       // wrote logic for JSON response....
}

次に、パフォーマンスを改善する必要があるため、このように Callable を使用してコントローラーを作成しました

@RequestMapping(value = "/id", method = RequestMethod.GET)
        public String getDetails(@PathVariable("id") String id) {
          return new Callable<String>(){
          @Override
          public String call() throws Exception {
           // ...
          return "someJSONString";
         }
       }
    }

問題は、上記の両方の方法で JMETER を使用してパフォーマンスを比較すると、大きな違いが見られないことです。

では、Callable コントローラーを作成しているときに何か見落としがありますか?

4

1 に答える 1

0

Callable インターフェイスを使用しても単一のリクエストのパフォーマンスを向上させることはできません。場合によっては、より多くのリクエストを取得するのに役立ちます。応答タイプが void になる場合は、callable の代わりに runnable を使用できます。したがって、runnable を使用すると、単一要求の応答時間を改善できます。たとえば、サービスが fork/join フレームワークに適している場合は、試してみてください。

于 2016-08-30T09:02:47.927 に答える