跳到主要内容

场景列表

压测覆盖的业务链路清单,共 5 个产品 60 条链路。与客户对齐测试范围时以本表为准。

压测模拟的是具体用户操作——打开需求列表、新建工作项、编辑 wiki 页面—— 每个完整操作对应一条业务链路(定义见基本概念)。 下表中的「步骤数」即该链路包含的 HTTP 请求数。

一、覆盖概览

产品链路数覆盖的典型操作
项目(project)32列表、详情、筛选器、工作台、创建/编辑/流转、排序查询
知识库(wiki)18页面浏览、详情、创建/编辑、搜索、附件上传下载
测试(testcase)7用例库、用例列表、创建/修改用例、测试计划
账号(account)2成员列表、用户组列表
产品管理(product)1产品管理首页

二、项目 project

数量最多、也最能反映数据规模影响的一组。

列表与详情

链路说明步骤数
project-list-home项目列表首页12
project-overview项目概览15
project-requirement-list-table需求列表·表格视图14
project-requirement-list-detail需求列表·窄详情32
project-filter-list-detail筛选器列表·窄详情33
project-directory-component项目目录组件9

窄详情类链路的步骤数明显偏高(30 以上),因为打开详情面板会并发请求属性、评论、 工时、关联、附件等多个接口。该类链路的 workflow_duration 更贴近用户实际感知。

工作台与筛选器

链路说明步骤数
project-workbench-overview工作台概览4
project-workbench-filter工作台筛选器29
project-workbench-filter-by-project工作台筛选器·按项目33
project-filter-attributes筛选器属性取值12

写操作

链路说明步骤数
project-issue-create创建工作项45
project-issue-create-and-query创建工作项后立即查询2
project-issue-edit-title修改工作项标题12
project-issue-edit-attributes修改工作项属性19
project-issue-edit-label-and-query修改标签后立即查询4
project-issue-status-transit流转工作项状态10

*-and-query 两条为写后读链路:写入后立即查询,用于观察写入至可见的延迟。 批量写入后的检索可见性属另一议题,见索引时长

搜索

链路说明步骤数
project-search-workitem搜索工作项2
project-advanced-search高级搜索5

查询与排序(数据规模梯度)

单请求链路,用于量化候选数据量对查询耗时的影响—— 即客户最常提出的「数据量增长后查询是否会显著变慢」。

同一条查询在 1000 / 2000 / 3000 / 5000 / 10000 五档候选数据量下各执行一轮, 横向对比即可判断耗时增长是线性还是陡增。陡增说明该查询在目标量级下存在风险。

链路前缀排序依据候选数据量档位
project-onesql-plain-*普通字段(如标题、状态)1000 / 2000 / 3000 / 5000 / 10000
project-onesql-computed-*计算属性(查询时实时计算)1000 / 2000 / 3000 / 5000 / 10000
project-onesql-pure-list-1000纯列表查询,无层级结构1000

普通字段直接从库中读取,计算属性需在查询时实时计算。两组对比可分离出计算开销, 并单独观察其随数据量的增长趋势。

单请求链路亦用于单接口吞吐验收

客户提出「某接口需支撑 500 TPS」时,若按混合流量加压,该接口在全部请求中仅占少数, 无法准确测定其吞吐量。

收敛到单条链路后,压测端设定的到达率即等于该接口的 TPS,无需换算。 详见并发公式

权限与配置

链路说明步骤数
project-settings-permission项目权限设置4
project-space-permission页面组权限3
project-object-type-relation关联关系配置9

三、知识库 wiki

浏览与阅读

链路说明默认权重
wiki-read-page阅读页面35
wiki-browse-space浏览页面组25
wiki-space-list页面组列表25
wiki-search搜索页面15
wiki-shared-pages与我共享的页面10

wiki 是唯一默认权重不均等的产品,阅读操作显著多于写入,贴近真实使用比例。 其余产品的链路默认权重均为 10(等权),可在客户配置中覆盖。

wiki-search 走后端搜索引擎,单请求开销最大,高并发下通常最先成为瓶颈。

页面详情(四种入口)

链路入口步骤数
wiki-page-detail-recent最近访问22
wiki-page-detail-pinned置顶21
wiki-page-detail-cross-space跨页面组21
wiki-page-detail-via-link直接链接21
wiki-page-switch页面间切换13

四个入口打开的是同一类页面,但前置请求不同(最近访问需查询访问记录、 跨页面组需额外鉴权),分别压测才能定位具体是哪个入口存在瓶颈。

编辑

链路说明步骤数
wiki-page-create-wiz新建页面25
wiki-page-edit-wiz编辑页面23

附件(按文件大小分档)

上传与下载各三档,用于定位性能开始劣化的文件大小区间。

档位大小上传链路下载链路
64 KBwiki-attachment-upload-smallwiki-attachment-download-small
2 MBwiki-attachment-upload-mediumwiki-attachment-download-medium
20 MBwiki-attachment-upload-largewiki-attachment-download-large

附件链路的耗时受带宽影响极大。压测机与被测环境之间若经由公网, 测得的主要是网络耗时而非服务端能力,因此压测机应与被测环境同机房。

四、测试 testcase

链路说明步骤数
testcase-overview测试管理概览3
testcase-library-list用例库列表1
testcase-library-case-list用例库·用例列表15
testcase-plan-list测试计划列表3
testcase-plan-case-list测试计划·用例列表8
testcase-case-create创建测试用例13
testcase-case-edit修改测试用例8

五、账号 account 与产品管理 product

链路说明步骤数
account-member-list成员列表4
account-user-group-list用户组列表3
product-home产品管理首页3

账号类链路数量虽少,但成员规模(默认规划量级 6,000)会显著影响成员列表与用户组列表的耗时, 不应因链路数量少而跳过。

六、按客户裁剪

上表为产品模板的全集。实际为某客户压测时通常不会全部执行,需按三种方式裁剪:

  • 停用不相关链路 —— 客户未采购测试管理时,testcase-* 全部停用;
  • 调整权重 —— 按客户真实业务比例重新分配,不沿用默认等权;
  • 收敛至单条链路 —— 执行单接口吞吐验收时仅保留一条,见本页查询与排序一节。

裁剪结果写入客户配置,产品模板本身不作修改。配置方法见工具执行手册

与客户对齐范围的建议

以本表询问客户「其中哪些属于高频操作」,比要求客户从零描述场景更为高效。 客户无法回答时,可改问「当前最担心哪个页面的响应速度」, 通常可直接定位到 2 至 3 条链路。