压测时「数据库指标」不会看,没关系

    
          测试:我压测的时候,主要要关注哪些日志或者指标信息?
          开发:服务资源、数据库、es、redis 
          长期沉迷于业务逻辑测试的我,突然就蒙圈了,数据库、es、redis虽然日常有大概知道那是「what」,但是现在要进行压测的时候,具体要观察数据库的“what”,还真是一头雾水~
    于是我开始了一顿「知识恶补」和「耻下问」的道路, 以下为个人工作过程实践总结,仅供分享学习~
NO1:了解数据库类型
数据库
类型
特点
Mysql
关系型数据库管理系统
作为数据的主数据库存储,存放持久化数据,读取速度慢
Elasticsearch
(简称ES)
非关系型数据库
是一个实时的搜索引擎,使用场景:大数据量下的检索,数据分析,日志分析,实时、高并发低延迟的场景应用较多
Redis
非关系型的数据库
读取速度快,但不支持事务,关系复杂的场景不适用redis,可以用来配合关系型数据库做缓存,以及一些持久化数据,适用于一些高并发读写
NO2:了解公司内部数据库使用场景
了解负责的系统在不同场景下使用的数据库类型。
  • 查询频率高且存在数据变动,主要存储在 Elasticsearch(ES)内
  • 查询频率高但是数据基本不变,主要存储在redis内
  • mysql是主数据库
三者的数据关系如下:

 

NO3. 数据库核心关注指标
  • CPU、内存使用率、磁盘占用空间
    CPU、内存、磁盘这三项是能够看到的最直观的性能指标,也是数据库运行状态的整体体现。一旦数据库服务器这三项出现不正常的波动,必然会影响项目的稳定与性能。所以在进行性能压测时,首要关注的指标数据有这三个。
    在个人近期的性能专项实践中,由于性能相关知识不够深和广,所以提前跟开发「确认」压测过程中重点「关注」并「记录」数据库的CPU、内存使用率2个指标,其中Redis 除了关注CPU、内存使用率还需要关注并记录缓存命中率

图为阿里云提供的Redis的性能基础数据

压测时记录:

1. MySQL:CPU使用率、内存使用率

2. ES:CPU使用率、内存使用率

3. Redis:CPU使用率、内存使用率、缓存命中率

    将上面数据的截图记录下来,最后将多轮的压测数据量化,观察数据库的指标变化是否存在异常。

    数据库的性能指标还有很多,例如连接池的使用、慢请求、key监控等等,这个就后续慢慢学习进步~

努力的意义

当好运降临在自己身上时

你会觉得“我配”

而不是看着好事落在别人身上

然后愤愤地说“我呸”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miss糖豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值