我用 100 个用户使用 http 和 https 测试了我的网站。在 https 中获得的响应时间比在 http 中获得的响应时间要长得多。 https 的响应时间是 http 的近四倍。谁能解释一下为什么 https 的响应时间比 http 长?还是我需要更改 jmeter system.properties 中的任何 SSL 属性?在此先感谢...!
最佳答案
SSL 握手假设有 4 个请求来建立连接,因此第一个 请求应该比 HTTP 长 4 倍。参见 The SSL handshake图表了解更多信息
但是,如果您收到所有请求的 4 倍性能下降 - 这听起来不对。
有以下控制 SSL 流的 JMeter 属性:
- https.sessioncontext.shared - 控制 SSL session 上下文是按线程创建(如果设置为 false)还是共享(如果设置为 true)
- https.use.cached.ssl.context - 控制是否在迭代之间重用缓存的 SSL 上下文
这些属性位于 JMeter 安装的/bin 文件夹下的 jmeter.properties 文件中。也可以使用 -J
命令行键覆盖它们,如下所示:
jmeter -Jhttps.sessioncontext.shared=true -Jhttps.use.cached.ssl.context=true
参见 Apache JMeter Properties Customization Guide更多细节。
如果上述设置无济于事,您将需要检查您的测试计划,或许还需要分析应用程序以查看这些额外时间花在了哪里。
关于ssl - http 与 https 之间的响应时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21577544/