tencent cloud

腾讯云可观测平台

动态与公告
产品动态
产品简介
产品概述
产品优势
基本功能
基本概念
应用场景
使用限制
购买指南
云产品监控
应用性能监控
终端性能监控
前端性能监控
云拨测
Prometheus 监控服务
Grafana 服务
事件总线
云压测
快速入门
监控概览
实例分组
云产品监控
应用性能监控
云拨测
云压测
Prometheus 监控服务
Grafana 服务
创建 Dashboard
事件总线
告警服务
云产品监控
云产品监控指标
控制台操作指南
云服务器监控组件
云产品监控对接 Grafana
故障处理
实践教程
应用性能监控
应用性能监控简介
接入指南
控制台操作指南
实践教程
参考信息
常见问题
终端性能监控
终端性能监控概述
控制台操作指南
接入指南
实践教程
前端性能监控
前端性能监控简介
控制台操作指南
接入指南
常见问题
云拨测
产品简介
控制台操作指南
常见问题
云压测
云压测概述
控制台操作指南
实践教程
JavaScript API 列表
常见问题
Prometheus 监控
Prometheus 监控简介
接入指南
控制台操作指南
实践教程
Terraform
常见问题
Grafana 服务
产品简介
控制台操作指南
Grafana 平台常用功能指引
常见问题
Dashboard
什么是 Dashboard
控制台操作指南
告警管理
控制台操作指南
故障处理
常见问题
事件总线
事件总线简介
控制台操作指南
实践教程
常见问题
报表管理
常见问题
腾讯云可观测平台常见问题
告警服务相关
一般性问题
监控图表相关
云服务器监控组件相关
动态阈值告警相关
云监控对接 Grafana 相关
文档阅读指南
相关协议
应用性能监控服务等级协议
APM 隐私协议
APM 数据处理和安全协议
前端性能监控服务等级协议
终端性能监控服务等级协议
云拨测服务等级协议
Prometheus 监控服务服务等级协议
Grafana 服务服务等级协议
云压测服务等级协议
云压测使用限制
Cloud Monitor Service Level Agreement
词汇表

设置全局 Options

PDF
聚焦模式
字号
最后更新时间: 2025-03-10 22:14:21
若要定制压测引擎在执行压测任务时的行为(传入自定义参数值、覆盖默认配置),您可设置全局 Options,来控制诸如 TLS/HTTP/WebSocket 通信的配置参数、预处理/后处理的超时时间等。
要设置全局 Options,您可在脚本最外层定义一个 option 对象(export const option = {...}),再根据您的需求,在 option 对象中定义 tlsConfighttp 等字段。
说明:
参数详情可参见 PTS JavaScript API 文档:Option

HTTP 全局配置

通过 option 里的 http 字段,您可配置压测引擎作为 HTTP 客户端的相关参数,这些参数对本次压测任务的所有 HTTP 请求全局生效。
常用参数如下:
headers:设置请求头。
basicAuth:使用 HTTP basic auth 认证时,通过该参数传入用户名和密码。
disableKeepAlives:若要禁用长连接,可将该字段设置为 true。
discardResponseBody:若要丢弃服务端返回的响应包体,可将该字段设置为 true。
http2:若要启用 HTTP2 协议,可将该字段设置为 true。
maxIdleConns:单个 VU 的最大连接数,默认值为 100个。
maxIdleConnsPerHost:单个 VU 针对单个 host(地址+端口)的最大连接数,默认值为 2。
maxRedirects:重定向跳转的最大次数,默认值为 10次。
timeout:请求超时时间,单位为毫秒,默认值为 10000(10 秒)。
脚本示例:
import http from 'pts/http';
import { check } from 'pts';

export const option = {
http: {
maxRedirects: 10,
maxIdleConns: 100,
headers: {
'key': 'value'
}
}
}
export default function () {
// get request with headers and parameters
const resp1 = http.get('http://httpbin.org/get', {
headers: {
Connection: 'keep-alive',
'User-Agent': 'pts-engine',
},
query: {
name1: 'value1',
name2: 'value2',
},
});

console.log(resp1.json().args.name1); // 'value1'
check('status is 200', () => resp1.statusCode === 200);
check('body.args.name1 equals value1', () => resp1.json().args.name1 === 'value1');
check('headers.key equals value', () => resp1.json().headers.key === 'value')
}

WebSocket 全局配置

通过 option 里的 ws 字段,您可配置压测引擎作为 WebSocket 客户端的相关参数,这些参数对本次压测任务的所有 WebSocket 请求全局生效。
常用参数如下:
handshakeTimeout:握手超时时间,单位为毫秒,默认值为 30 秒。
readTimeout:读消息超时时间,单位为毫秒,默认不限制。
writeControlTimeout:写控制指令超时时间,单位为毫秒,默认为 10 秒。
writeTimeout:写消息超时时间,单位为毫秒,默认不限制。
示例:
export const option = {
ws: {
writeTimeout: 3000,
readTimeout: 3000,
}
}

TLS 全局配置

压测引擎作为客户端,在建立 TLS (Transport Layer Security/传输层安全协议)连接时,支持以下配置选项:
insecureSkipVerify:是否验证服务器的证书链和主机名。若设置为 true 则不验证(默认为 false)。
rootCAs:在验证服务器证书时,使用的一组根证书颁发机构。 若为空,则默认使用主机的根 CA 集。
certificates:在双向 TLS 认证中,客户端提供的供服务端验证的证书列表(证书文件可通过场景的 文件管理 > 请求文件 上传)。
示例:
export const option = {
tlsConfig: {
'localhost': {
insecureSkipVerify: false,
rootCAs: [open('ca.crt')],
certificates: [{cert: open('client.crt'), key: open('client.key')}]
}
}
}

预处理与后处理配置

setupTimeoutSeconds:预处理(setup)步骤的超时时间。默认为 60 秒。 示例:
export const option = { setupTimeoutSeconds: 30 }
teardownTimeoutSeconds:后处理(teardown)步骤的超时时间。默认为 60 秒。
export const option = {
teardownTimeoutSeconds: 30
}
说明:
关于脚本的预处理/后处理的详情,请参见 脚本概述


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈