在本章节,我们通过一次模拟压测,了解SLA监控指标的回放分析方法。
在青云,模拟了如下配置的云实例环境:
| AWS单实例服务 | SQLServer数据库服务 |
|---|---|
![]() |
![]() |
| 16核/32G/Windows 2012/AWS 6.2 | 16核/48G/Windows 2012/SQLServer2014 |
测试用例:
| 项 | 说明 |
|---|---|
| 并发用户 | 200人 |
| 测试时间 | 1小时20分钟 |
| 给压计划 | 初始规模100并发,在第10秒增加100至200并发,之后持续200并发。 1小时20分10秒时减少100并发,在1小时20分20秒并发数将至0 |
| login | 模拟用户登录AWS平台,完成身份鉴权,创建Session会话 |
| create-process | 创建流程实例,并创建一个待办任务给自己 |
测试结果:
| 事务 | 最小(秒) | 平均(秒) | 最大(秒) | 90%(秒) |
|---|---|---|---|---|
| create-process | 0.016 | 0.087 | 3.25 | 0.156 |
| login | 0.006 | 0.167 | 1.013 | 0.7 |
压测期间AWS平均每5分钟接收处理1.2万次请求,压力平滑,符合测试用例的给压计划。(见下图)

我们通过指标趋势,回放该时段的cmd请求总次数,可以看到更清晰的压力分布情况。(见下图)

该压测过程,AWS创建了188,662个流程实例和188,662个任务实例,没有产生错误和SLA告警事件。

访问指标趋势,可以分析create-process时更细的分解指标。回放该时段的创建流程实例耗时、启动流程实例耗时的时间分布,了解相关指标耗时情况。


期间所有Web请求,平均在100毫秒内完成处理。

访问指标趋势,通过回放该时段的并发请求数可以分析出,由于外部200并发用户设置了思考等待时间(类似于在线用户),真正对系统产生的高峰并发压力在10-40之间(约5:1)。

访问指标趋势,回放该时段的CPU资源使用率、数据库连接池大小、数据库连接池空闲连接数、数据库连接池活动连接数的最大值分布,了解内部资源指标的使用情况。

随着200用户持续创建流程,数据库活动连接数平稳保持在10-20个之间。在初期CPU使用率有个55%的小高峰,后平稳保持在20%水平。
运行一段时间后,AWS的数据库连接池发现不需要预留100个连接资源,根据实际数据库活动连接数,数据库连接池大小逐渐降低到20-40之间。完成压测没有数据库压力后,数据库连接池大小保持在10水平。
从上图分析,AWS能够随着压力上升使用更多资源,随着压力的下降自动释放资源。


