专栏首页云原生压测团队数据单一触发数据库锁
原创

数据单一触发数据库锁

【背景说明】

压测过程中我们会发现各种各样的瓶颈,有时候数据单一也可能导致QPS上不去,这时我们需要准备批量测试数据来进行多样性压测。

【问题表现】

当对一个接口加压后,发现QPS上不去,时间增长,如下图所示:

这时,我们应该想到是链路上出现瓶颈,需排查整个链路

【排查思路】

首先对服务器资源进行查看,对链路上涉及到的库的资源进行查看,排查后发现数据库MongoDB负载使用情况为百分百

造成该问题的原因除了配置过低的原因外,还可能为大批量的update和put同一个certificate,触发数据库锁,导致数据库查询过慢,这时我们需要对压测脚本做多样性用户处理,有以下两种方式可以参考:

方式一:用户信息为一个范围区间,可以用计数器去做自增,线程组->添加->配置原件->计数器

方式二:使用CSV数据文件设置拿取大量用户信息,线程组->添加->配置原件->CSV数据文件设置

数据多样性添加完成后引用变量名即可

脚本准备完成后,再次上传脚本到coding平台,对用户信息进行数据多样性处理后的接口再次进行压测,发现QPS就能够上去了。

【总结】

数据的单一性除了造成结果的不准确之外,还可能造成系统瓶颈,这时除了盲目的升级硬件资源外,还应该考虑从数据多样性入手,更真实的模拟用户场景,减少不必要的费用支出和更快捷的解决问题。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql数据库 触发器简单实例

    触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事...

    大道七哥
  • MYSQL之视图、触发器、存储过程、函数、事物、数据库锁和数据库备份

    一、视图 -- view 视图:是一个虚报表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。 视图有如下特点:   1.视图的列可以来自...

    新人小试
  • 数据库锁

    宇宙之一粟
  • 数据库锁

    锁和索引是数据库两大核心概念,了解索引,可以从 B+ 树,Hash 索引,页结构,缓存池,索引原则等方面理解。理解锁,要从哪些方面入手?

    王小明_HIT
  • 记一次数据库死锁

    死锁发生在一个事务中,事务对多个表进行了操作。在报错日志中,死锁发生在tableA与tableB。一开始怀疑此次发布的某个改动中对上面这两张表新增了select...

    Tencent JCoder
  • MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁

    浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义。同真实的表...

    人生不如戏
  • MySQL数据库5事务、视图、触发器、函数、数据库的备份

    事务指一组操作要么成功要么失败,在成功修改数据前原来的数据不会受影响,如果修改成功则数据将被更改,如果失败,则原数据库数据不变。

    GH
  • 数据库PostrageSQL-函数和触发器安全性

    函数、触发器以及行级安全性策略允许用户在后端服务器中插入代码,其他用户不会注意到这些代码的执行。因此,这些机制允许用户相对容易地为其他人设置“特洛伊木马”。最强...

    cwl_java
  • 聊一聊数据库中的锁

    数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚...

    码农阿宇
  • 聊一聊数据库中的锁

    数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚...

    梁规晓
  • 数据库锁机制

    数据库在并发时会出现很多问题,但有些时候会提高程序的运行效率,而有些时候则会产生非常严重的BUG。数据库为了解决因并发而产生的问题,于是底层采用数据库锁的的机制...

    吉林乌拉
  • 数据库并发处理 - 上的一把好"锁"

    我们都是知道,数据库中锁的设计是解决多用户同时访问共享资源时的并发问题。在访问共享资源时,锁定义了用户访问的规则。根据加锁的范围,MySQL 中的锁可大致分成全...

    Java_老男孩
  • 一起来学大数据|数据库单表数据操作

    我们在数据库中更多的是对表的操作,而在表中我们又有单表与多表的操作,在其中最复杂最多的就是增删改查中的查询。下面我们一起来学习。

    用户2292346
  • MySQL数据库锁机制

    版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/art...

    Leshami
  • MySQL 数据库中的锁

    MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以...

    星尘的一个朋友
  • 数据库PostrageSQL-锁管理

    deadlock_timeout (integer) 这是进行死锁检测之前在一个锁上等待的总时间(以毫秒计)。死锁检测相对昂贵,因此服务器不会在每次等待锁时都...

    cwl_java
  • 数据库PostrageSQL-查看锁

    监控数据库活动的另外一个有用的工具是pg_locks系统表。这样就允许数据库管理员查看在锁管理器里面未解决的锁的信息。例如,这个功能可以被用于:

    cwl_java
  • 数据库之锁模块

    MyISAM默认使用的是表级锁,不支持行级锁。InnoDB默认用的是行级锁,也支持表级锁。无论是表级锁还是行级锁,均分为共享锁和排他锁,它们的关系如下表所示(X...

    端碗吹水
  • 数据库事务和锁

    事务 作为单个逻辑工作单元执行的一系列操作。 事务特性 ACID A atomicity  原子性 事务是不可分割的原子单元,要么全部完成,要么全部不完...

    对弈

扫码关注云+社区

领取腾讯云代金券