2016-07-12 7 views
0

ロードバランサの前にGCEインスタンスの埋め込みJettyサーバを使用しているジャージアプリがあります。 TCPロードバランサで設定をロードテストしたところ、20ms未満のレイテンシで約2400 QPSを得ることができました。しかし、HTTPロードバランサを使った同じ設定は、待ち時間が20ms以下の< 1000 QPSしか得ることができません。違いbtw Gcloud TCPとHTTPロードバランサ

私が気付いたことに、HTTP LBを使用すると、さらに多くのファイル記述子が開かれています。

以下は私の埋め込み桟橋の設定ですが、どんなアイデアも素晴らしいでしょう! :)

int httpPort = 8080; 
    int maxThreads = 1024; 
    int minThreads = 32; 
    int idleTimeout = 500; 
    QueuedThreadPool pool = new QueuedThreadPool(maxThreads, minThreads, idleTimeout, new java.util.concurrent.ArrayBlockingQueue(6000)); 

    Server server = new Server(pool); 
    ServerConnector httpConnector = new ServerConnector(server); 
    httpConnector.setPort(httpPort); 
    server.addConnector(httpConnector); 

    ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); 
    context.setContextPath("/"); 
    server.setHandler(context); 
+0

HTTP以外のロードバランサについて詳しく説明します。それは何らかのLVSですか?はいの場合、答えは単純かもしれません--LVSはHTTP LBの方がパフォーマンスが優れています。 – user1641854

答えて

0

がこの問題を修正判明:

httpConnector.setIdleTimeout(100L); 

私はなぜまだ問題ではありませんのgcloud TCPロードバランサではよく分からないが。

関連する問題