在压测过程中,HTTPS连接涉及SSL/TLS握手。如果测试时不重置SSL状态,请求可能会复用已建立的安全连接。开启循环重置SSL状态后,每次HTTP请求会重新握手,以便更精确地衡量服务器产生的延迟以及资源消耗情况。您还可以设置不同的SSL协议版本,以判断不同协议版本下服务器的性能是否存在差异。
循环重置SSL状态
该功能可以控制同一API多次请求时是否重置SSL上下文内容。对于HTTPS压测,在业务会话每次循环时,您需要选择是否重置SSL连接状态,默认不重置。如果您选择重置,在执行业务会话的每一次循环时,SSL状态会重新初始化。即执行每次业务会话时,都会重新完成SSL上下文配置。这样可以更准确地模拟不同用户的压测场景。
SSL协议
HTTPS压测是客户端(施压机)和服务端进行SSL握手的第一步。客户端会告知服务端自己支持的最高SSL协议版本,服务端会从自己和客户端支持版本的交集中,取最高的版本作为实际使用的SSL版本。SSL协议是在压测时由压测引擎与服务端协商而来。高级设置中的SSL协议版本不一定是最终使用的协议,仅用于表明客户端更倾向于使用的协议。
以下为常用浏览器对SSL版本的支持情况:
浏览器 | 支持TLSv1.3的浏览器版本 | 支持TLSv1.2的浏览器版本 |
Chrome | 70及以上 | 29及以上 |
Safari | 14及以上 | 7及以上 |
Edge | 79及以上 | 12及以上 |
Firefox | 63及以上 | 27及以上 |
IE | 不支持 | 11 |
如何配置
登录PTS控制台,选择 ,然后单击PTS压测。
在创建PTS场景页面,打开高级配置开关,在HTTPS设置区域配置循环重置SSL状态和SSL协议。
重要开启循环重置SSL状态后,会导致施压机额外的性能开销。
配置项
说明
循环重置SSL状态
场景一
HTTPS压测,希望模拟100个用户登录,同时保持这100个用户不断重复访问系统。此时业务会话每次循环执行,模拟的是同一个虚拟用户的行为。
应将此开关设置为否,然后设置虚拟用户数为100。
场景二
HTTPS压测,希望模拟5分钟内,每个时刻都有100个不同用户访问系统。此时业务会话每次循环执行,模拟的是不同虚拟用户的行为。
为了保证压力模拟的真实性,应将此开关设置为是,然后设置虚拟用户数为100。
SSL协议
SSL协议版本为客户端支持的最高SSL版本。PTS目前支持TLSv1.2与TLSv1.3协议版本,默认为TLSv1.3。
如果您的压测场景模拟的客户端版本较新,建议选择TLSv1.3作为SSL版本。
如果您的压测场景需要模拟旧版本的浏览器客户端,建议选择TLSv1.2作为SSL版本。