在使用PTS压测过程中,您可以在高级设置的HTTPS设置区域配置循环重置SSL状态和SSL协议。
开启循环重置SSL状态后可更真实地模拟用户对后端服务发起访问,同时施压机性能有额外开销,建议配合来源IP扩展使用。SSL协议支持选择TLSv1.3等版本。
循环重置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版本。