我有一个Debian虚拟机,其GlassFish Server开源版4.1.1(版本1)配置了8080端口上的监听器(无TLS)和另一个带有TLS的侦听器,带有有效证书的8181端口。在GlassFish里面,有一个应用程序可以回答HTTP请求。 如果我从网络内的客户端向8080端口发出POST,则需要X时间,而使用tcpdump,我可以看到Y数据包交换。 在8181端口(使用TLS)时间X和数据包Y加倍。如果在HTTP或HTTPS中工作,Java应用程序不会更改其行为。我的GlassFish服务器前面没有任何Web服务器,我可以直接将请求发送给它。
拜托,有人能指出我正确的方向,以了解数据包的加倍和响应时间吗?我是否需要在GF中进行任何配置以在启用TLS的情况下提高性能?
更新
Glassfish安装在linux虚拟机上
应用程序公开servlet和Web服务,都接收一个xml文件(可以是一个大文件,我们正在测试一个大约15米的xml)
行为是一样的:
- 当我尝试将文件发送到http端口(8080)时,传输的数据包的数量(和卷)接近SSL中传输的数据的第三部分(8181)
- 使用servlet接口(POST主体中的文件)或Web服务接口(SOAP信封内)都会发生这种情况
例如,http请求表演:
- 在1.5秒内完成
- 446包发送
https请求:
- 在3,8秒完成
- 发送了1236个数据包