com.sun.net.httpserver.HttpServer和HttpURLConnection的性能?

时间:2015-09-12 16:31:55

标签: java http ssl https httpserver

我开发了一个HTTP代理,使用com.sun.net.httpserver.HttpsServerHttpURLConnection进行HTTPS-> HTTP转换。不幸的是,它每秒只能处理5个小的HTTPS POST请求。所有其他请求无法连接到代理。

我在同一台服务器上使用SSL + tomcat apache,它处理50个HTTPS请求/秒。没有apache的Tomcat处理50个HTTP请求/秒,所以带有SSL的apache根本不会减慢他的速度。如果我使用我的com.sun.net.httpserver.HttpsServer,它会使tomcat放慢10倍!我以这种方式使用它:

HttpsServer server = HttpsServer.create(new InetSocketAddress(config.getInPort()), 0);
server.createContext("/https", new HttpProxyHandler(config));       
server.setHttpsConfigurator(new HttpsConfigurator(SSLContext.getDefault()));
server.setExecutor(null);
server.start();

处理程序仅通过HttpURLConnection将收到的请求发送到另一个http网址。

为什么com.sun.net.httpserver.HttpServer的表现如此糟糕?是否有HttpsServer的任何效果统计信息?我需要非常性能的服务器。如果我只是从SSL套接字读取请求并写入TCP套接字怎么办?它是否适合HTTPS请求处理?

0 个答案:

没有答案