在使用PTS压测过程中,若需设置请求的建连超时时间、新增成功状态码或将域名与指定的IP地址关联,可以通过PTS的高级设置来实现。
通用设置
在通用设置区域的设置对全场景的API生效。
参数 | 描述 |
采样日志采样率 | 自定义采样日志的采样率,默认采样率为1%。 若需降低采样率,请填写(0,1]区间的值;若需提升采样率,请填写(1,50]区间内可被10整除的数,例如20。 重要 提升采样率时,会额外收取rate%的费用。例如采样率为20%会额外收取20%*VUM的费用。 |
建连超时时间 | 压测请求访问压测API的可超时时间。输入框中只需填写500 ms的倍数,范围区间为(1,120]。例如若超时时间为5000 ms,则只需填写10。 |
请求超时时间 | 请求发送之后,该虚拟用户等待应答的最长时间。输入框中只需填写500 ms的倍数,范围区间为(1,120]。例如若超时时间为5000 ms,则只需填写10。 说明 高级设置中的请求超时时间作用范围为全场景所有API,优先级位于API基本请求信息的超时时间之后。 |
新增成功状态码 | 可自定义请求成功的状态码。新增的状态码和2xx码都视为请求成功。例如当判断请求返回302为正常,但不能使用302跳转时,可以使用此功能新增请求成功的状态码,确保压测结果准确性。 |
URL Encode | 默认勾选,对所有请求先Decode再Encode之后发送请求。 |
HTTPS设置
循环重置SSL状态
对于HTTPS压测,在串联链路每次循环时,需要选择是否重置SSL连接状态。如果选择重置,在串联链路每一次循环执行时,会重新初始化SSL状态,这样可以更准确模拟每次循环代表不同用户的压测场景,同时会对施压机带来一定的性能开销。
使用场景
- 场景一:HTTPS压测,希望模拟100个用户登录,同时保持这100个用户不断重复访问系统。
此时串联链路每次循环执行,模拟的是同一个虚拟用户的行为。
应将此开关置为“否”,然后设置并发数为100。
- 场景二:HTTPS压测,希望模拟5分钟内,每个时刻都有100个不同用户对系统访问。
此时串联链路每次循环执行,模拟的是不同虚拟用户的行为。
为了保证压力模拟真实性,应将此开关置为“是”,然后设置并发数为100。同时因为打开此开关后,施压机有额外的性能开销,建议扩展施压机IP数。
SSL协议
HTTPS压测,在客户端(施压机)和服务端进行SSL握手的第一步,客户端会告知给服务端自己支持的最高SSL协议版本,然后服务端会从自己和客户端支持版本的交集中,取最高的版本作为实际使用的SSL版本。这里配置的SSL版本,就是客户端支持的最高SSL版本,默认为TLSv1.3。
这里列出一些常用浏览器对SSL版本的支持情况供您参考:
浏览器 | 支持TLSv1.3的浏览器版本 | 支持TLSv1.2的浏览器版本 |
Chrome | 70及以上 | 29及以上 |
Safari | 14及以上 | 7及以上 |
Edge | 79及以上 | 12及以上 |
Firefox | 63及以上 | 27及以上 |
IE | 不支持 | 11 |
可以看出,主流浏览器在2018~2020年前后都支持了TLSv1.3。因此,如果您的压测场景模拟的客户端较新,建议您选择TLSv1.3作为SSL版本;相反,如果您的压测场景需要模拟旧版本的浏览器客户端,建议您选择TLSv1.2作为SSL版本。
域名绑定
域名绑定是指将域名与指定的IP地址关联。压测时,压测流量将直接访问绑定的IP地址,实现对目标设施的压测。 以下情况可能需要使用域名绑定功能:
公网测试环境中的压测
当压测业务请求需要通过公网访问,为了不影响线上业务,您可以使用测试环境的IP地址与公网域名绑定,实现压测流量和线上流量的隔离。
PTS的阿里云VPC内网压测模式下的压测
PTS阿里云VPC内网压测模式,是指通过阿里云VPC内网进行压测。为了压测时不用修改压测接口的域名,您可以在场景中为任意一个域名绑定阿里云VPC内网IP地址,实现在阿里云内网压测的目的。更多信息,请参见阿里云VPC内网压测。
完成场景配置后,系统已自动识别出场景配置中所有的域名。在高级配置页签的域名绑定区域配置域名信息:
在目标域名右侧选中启动,并在IP列表栏填写相应的IP地址。多IP地址间用半角逗号(,)分隔。
单击右上角保存配置,即可完成域名绑定。
绑定域名后,压测时将直接压测您已配置的IP地址。
监控导出
打开Prometheus 开关,可以将PTS压测的指标数据输出到Prometheus。具体配置操作,请参见如何将PTS压测的指标数据输出到Prometheus。