前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈基于腾讯云的压测逻辑

浅谈基于腾讯云的压测逻辑

原创
作者头像
云计算_客服
修改2022-03-21 23:44:18
1.8K0
修改2022-03-21 23:44:18
举报
文章被收录于专栏:浅谈云计算

背景:

在云上环境进行压测的场景,主要有单链路和全链路压测。其中,单链路压测用于业务添加新的接入模块和单业务架构迁移后稳定性评估;全链路压测则更多是在割接上云前演练,大促前容量评估等几个场景。

一、压测姿势普及

1)链路打标

对压测流量打上特殊的标签,根据标签识别将压测数据写入到影子表,以至于不影响到线上流量数据。通常采用到方法是添加测试标识,或者是指定测试账号来识别压测流量,相比于传统构造请求压测数据的方式,目前大部分电商采用的是流量回放的方式,减少维护成本和增加压测多样性。

添加测试标识:在压测请求header 添加特定指标;

Headers = {'Press-Ori':'PressKA'}

添加测试账号:提供测试账号,针对指定账号到请求,其db链接指向影子库表。

for UserId in range(PressFlow):

代码语言:txt
复制
Args = 'AdminTest' + str(UserId);
代码语言:txt
复制
p.apply\_async(Press, args=(Args,))
(图取自网络/侵删)
(图取自网络/侵删)

2)影子库表

压测数据落入到影子库表,达到数据隔离,减少压测后数据回滚和保留数据分析。为了保证压测链路和线上环境一致,一般做法都是在线上的databases上创建对应的tables。

影子库
影子库

3)压测指标

3.1)业务目标

客户运营侧根据推广和线上系统pv,活动形式等给出大促GMV,不同的电商客户其对应的客户群体通常不一致,比如母婴市场和服装市场,对应的运营策略不一致会导致其大促线上流量模型往往有很大区别。

3.2)容量规划:

压测有效验证设备资源搭建的线上环境所具备的抗压能力。业务目标对应到设备容量指标,换算到业务系统就是对应指标,比如交易系统高峰期订单量,商城高峰在线人数等。按照当前线上环境资源,在过去运行的时间里所能支撑的业务数据进行设备和业务横向扩容。

3.3)性能指标:

应用层面

  • 错误率
  • 吞吐量
  • 响应时间 Response Time
  • GC

服务器资源

  • CPU利用率及负载
  • 内存
  • 磁盘I/O
  • 网络I/O
  • 连接数

二、模拟压测系统

1、模拟环境逻辑图片

最小化业务系统
最小化业务系统

2、业务系统逻辑

地址:http://xxx.xxx.com/

实现的功能(压测逻辑):

登陆功能;

订单查看;

加入购物车;

清空购物车;

3、压测系统逻辑

使用的并发逻辑:

代码语言:txt
复制
p = Pool(PressFlow)

for i in range(PressFlow):

代码语言:txt
复制
    op = "select \* from Buy\_Car where User='{}'".format(User)
代码语言:txt
复制
    p.apply\_async(conn\_sql, args=(op,))
代码语言:txt
复制
p.close()

其中:压测流量50% = 50进程;

压测任务视图
压测任务视图

4、监控系统逻辑

数据来源:通过云监控拉取数据存入到mysql;

数据展示:grafana直接拉取mysql的数据;

健康指标:通过指标进行阈值计算,阈值内则视为正常。

监控视图
监控视图

下一篇:补充现网压测工具说明和对比

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景:
  • 一、压测姿势普及
    • 1)链路打标
      • 2)影子库表
        • 3)压测指标
          • 3.1)业务目标
          • 3.2)容量规划:
          • 3.3)性能指标:
      • 二、模拟压测系统
        • 1、模拟环境逻辑图片
          • 2、业务系统逻辑
            • 4、监控系统逻辑
            相关产品与服务
            服务性能测试
            服务性能测试(Server Performance Testing)是一款性能测试工具,可模拟百万用户发压,提供多维度性能测试报告,帮助业务快速定位产品性能瓶颈、准确验证系统能力,全面提升稳定性。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档