在使用PTS压测过程中,您可以在高级设置的HTTPS设置区域配置循环重置SSL状态和SSL协议。
循环重置SSL状态
对于HTTPS压测,在串联链路每次循环时,需要选择是否重置SSL连接状态,帮助您控制同一API多次请求之间是否重置SSL上下文内容,默认不重置。如果您选择重置,在串联链路每一次循环执行时,会重新初始化SSL状态,即每次串联链路的执行都会重新完成SSL上下文配置,这样可以更准确模拟每次循环代表不同用户的压测场景,但同时需要您注意开启循环重置SSL状态后会导致施压机额外的性能开销。
使用场景
场景一:HTTPS压测,希望模拟100个用户登录,同时保持这100个用户不断重复访问系统。
此时串联链路每次循环执行,模拟的是同一个虚拟用户的行为。
应将此开关置为“否”,然后设置并发数为100。
场景二:HTTPS压测,希望模拟5分钟内,每个时刻都有100个不同用户对系统访问。
此时串联链路每次循环执行,模拟的是不同虚拟用户的行为。
为了保证压力模拟真实性,应将此开关置为“是”,然后设置并发数为100。同时因为打开此开关后,施压机有额外的性能开销,建议扩展施压机IP数。扩展施压机IP数的具体操作,请参见扩展施压机。
SSL协议
HTTPS压测是客户端(施压机)和服务端进行SSL握手的第一步,客户端会告知给服务端自己支持的最高SSL协议版本,然后服务端会从自己和客户端支持版本的交集中,取最高的版本作为实际使用的SSL版本。这里配置的SSL版本,就是客户端支持的最高SSL版本。PTS目前支持TLSv1.2与TLSv1.3协议版本,默认为TLSv1.3。
SSL协议是在压测时由压测引擎与服务端协商而来,高级设置中的SSL协议选项不一定是最终使用的协议,仅用于表明客户端更倾向于使用的协议。
这里列出一些常用浏览器对SSL版本的支持情况供您参考:
浏览器 | 支持TLSv1.3的浏览器版本 | 支持TLSv1.2的浏览器版本 |
Chrome | 70及以上 | 29及以上 |
Safari | 14及以上 | 7及以上 |
Edge | 79及以上 | 12及以上 |
Firefox | 63及以上 | 27及以上 |
IE | 不支持 | 11 |
如果您的压测场景模拟的客户端版本较新,建议您选择TLSv1.3作为SSL版本;相反,如果您的压测场景需要模拟旧版本的浏览器客户端,建议您选择TLSv1.2作为SSL版本。