使用PTS对网站进行压测

  1. 云栖社区>
  2. 博客>
  3. 正文

使用PTS对网站进行压测

上云小马达 2019-07-02 10:28:06 浏览468
展开阅读全文

最近在阿里云搭了一个博客,用阿里云提供的PTS对网站做了一下压测,现在把压测的步骤分享出来,有类似做网站或外贸电商的也可以参考下(产品部署步骤省略,只有压测和性能分析)。
所用云产品如下(长期使用选择包年可享受一定官网优惠):

云产品(华北5) 规格
RDS(MySQL5.6高可用) 1C2G
SSL 免费证书
CDN 按量
OSS 按量
云监控 免费版
PTS 新用户体验版

一、确定要测试的页面和访问流程

本次要测试的是网站首页和打开第一条产品页的访问速度,如下所示首页:
1

详情页:
2

二、进入PTS管理控制台

1、添加场景

3

2、添加被测URL

我们是模拟用户访问首页后,再进入到详情页,所以要添加两个URL(如果有多个页面,可以按访问页面先后顺序进行添加)
4

3、选择施压配置

选择施压配置,本次选择的是“并发模式”

  • 并发模式:是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。
  • RPS模式:(Requests Per Second)是指每秒请求数。从服务端的角度出发,直接衡量系统的吞吐能力,免去并发到 RPS 的繁琐转化,一步到位。

具体区别可参考官方文档:https://help.aliyun.com/document_detail/70480.html
在这里,我们设置最大并发为100,递增百分比为默认,持续时长为5分钟,考虑到首页访问人数可能会多于详情页,故设置“最大并发权重”为50和30,保存配置。
5

4、调试场景、保存去压测

6

可根据业务访问情况,在晚上或业务低峰时进行压测。

5、生成测试任务

7

6、开始压测,压测完成会生成压测报告。

8

三、云监控篇

压测开始后,到云监控看资源的使用状态,我主要关心的是CPU、内存和网络.
在主机监控中找到我们压测的ECS
9

压测开始后,我们可以看到CPU和系统平均负责都呈上升趋势。
10

在同一个页面继续往下拉,我们可以看到网络和TCP连接数都呈上升趋势。
11

刚才访问了一下网站,虽然CPU跑到100%,但网站还是以能正常访问的。

四、数据库篇

还好当时把数据库单独放在RDS中,如果数据库和网站都放在一台服务器上,CPU跑到100%后,我估计业务就直接崩溃了。
在CloudDBA“性能趋势”处,和云监控看到的ECS的资源类似的,TPS/QPS连接数都呈上升趋势。
CloudDBA官方文档:https://help.aliyun.com/document_detail/96125.html
12

“实时性能”看到QPS、连接数和网络流量都维持在较高的水位线
13

“会话管理”可以看到当前数据库的进程ID,哪些处于活动、睡眠状态
当有大量sleep或者异常用户、来源访问时可以直接在这里进行展示。
14
15

如果发现查询变慢,而ECS的CPU占用率不高时,我们可以在“智能优化”中看下查看RDS系统的负载,发现是哪些SQL导致查询时间过长,哪些SQL执行次数最多(执行次数较多、时间长的可以考虑添加索引),也可以把SQL语句拿到CloudDBA进行试跑,从中发现需要优化的地方。
下载诊断报告:https://help.aliyun.com/document_detail/96129.html

五、压测结束

我们可以看到高资源占用情况马上就好转了。
16

此时我们肯定想看下压测这么久,结果到底怎么样了,如果项目有测评要求,可以将报告下载下来优化调优,如果只是像我一样做下大概了解,心里有数,则可直接在线查看。
压测报告:https://help.aliyun.com/document_detail/65304.html
17
18

我们可以看到用了ECS和RDS做业务分离后,虽然CPU资源占用较高,但请求返回都是200(200为正常,其它为异常)。

网友评论

登录后评论
0/500
评论
上云小马达
+ 关注