差异btw Gcloud TCP vs HTTP负载均衡器

时间:2016-07-12 22:24:52

标签: http tcp load-balancing gcloud

我有一个使用嵌入式Jetty服务器运行的泽西应用程序,在GCE实例中,由负载均衡器提供。我使用TCP负载均衡器加载测试设置,我能够以低于20ms的延迟获得大约2400 QPS。但是,与HTTP负载均衡器相同的设置我只能绕过< 1000 QPS,延迟低于20ms。

调试时我注意到使用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);

1 个答案:

答案 0 :(得分:0)

原来这解决了这个问题:

httpConnector.setIdleTimeout(100L);

虽然我不确定为什么使用gcloud TCP负载均衡器还不是问题。