执行压力测试时 HTTP 和 HTTPS 之间的区别

Posted

技术标签:

【中文标题】执行压力测试时 HTTP 和 HTTPS 之间的区别【英文标题】:Difference between HTTP and HTTPS while performing Stress Tests 【发布时间】:2019-06-27 09:07:33 【问题描述】:

我正在使用 Jmeter 对移动应用程序进行压力测试/负载测试。 问题是当我使用 HTTP 执行测试时它工作正常,但使用 HTTPS 会使服务器宕机。

HTTPS 中是否包含阻止大量同时查询的机制?请问可能是什么问题?

编辑:问题是关于 Jmeter 和 HTTP/HTTPS。 Jmeter 模拟一个查询并开始重新发送它,比如 1000、2000 等……指定时间间隔的时间。使用 Jmeter 和 HTTP 是可行的,但是 Jmeter 和 HTTPS 会使服务器宕机。 HTTPS是否可能有一个内部机制可以将测试分类为DoS攻击并阻止它?

【问题讨论】:

另见HTTP vs HTTPS performance HTTP vs HTTPS performance的可能重复 不同的问题,添加了解释 您使用什么防火墙/负载均衡器和服务器? @Zhaph-BenDuguid,只是为了澄清一下,它在经过大量负载之后应用程序出现故障,因为我尝试使用不同的 IP 进行测试并且应用程序始终处于停机状态 【参考方案1】:

注意 HTTP 和 HTTPS 使用不同的端口

不同的端口可以路由到不同的IP,甚至是应用程序,例如直接去tomcat而不用apache服务器

关于性能it depends,但总体而言~微不足道

HTTPS 需要一个可能非常慢的初始握手。作为握手的一部分传输的实际数据量并不大(通常低于 5 kB),但对于非常小的请求,这可能是相当多的开销。但是,一旦握手完成,就会使用一种非常快速的对称加密形式,因此开销很小。底线:通过 HTTPS 发出大量短请求会比 HTTP 慢很多,但如果您在单个请求中传输大量数据,则差异将是微不足道的。

【讨论】:

不同的端口是的,但它们具有相同的自动化(防火墙端,路由等......)......我同意有点慢,但这足以让服务器宕机吗? @RahmouniAbdelhak 你必须找到服务器宕机的原因,我们需要比服务器宕机更多的细节,你可以先检查slumpedoverkeyboarddead.com/… 会检查并回复您

以上是关于执行压力测试时 HTTP 和 HTTPS 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

jmeter录制Chrome浏览器https请求压力测试

jmeter录制Chrome浏览器https请求压力测试

负载测试中崩溃点和降级之间的差异

http_load压力测试过程和使用方式

jmeter简单的一个压力测试案例 --使用命令 12

Jmeter 压力测试并输出HTML报告