美文网首页
06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的?

06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的?

作者: 呢看了看 | 来源:发表于2020-12-01 17:30 被阅读0次

QPS:Query Per Second。QPS就是说,你的这个数据库每秒可以处理多少个请求。

TPS:Transaction Per Second。TPS就是说,每秒可以处理的事务量。就是说数据库每秒会处理多少次事务提交或者回滚。简单来说,一个事务就会包含多个SQL语句,这些SQL最好要么就是事务提交,大家一起成功了,要么就是最好事务回滚,大家一起失败了,这就是事务。 TPS往往指的是一个数据库每秒里有多少个事务执行完毕了,事务提交或者事务回滚都算是执行完毕了 ,所以TPS衡量的是一个数据库每秒处理完的事务的数量。


IO相关的压测性能指标

【1】IQPS:这个指的是机器的随机IO并发处理的能力,比如机器可以达到200IQPS,意思就是说每秒可以执行200个随机IO读写请求。这个指标是很关键的,你在内存中更新的脏数据库,最后都是由后台IO线程在不确定的时间,刷回到磁盘里去,这就是随机IO的过程。如果说IQPS指标太低了,那么会导致你内存里的脏数据刷回磁盘的效率就会不高。

【2】吞吐量:这个指的是机器的磁盘存储每秒可以读写多少字节的数据量。这个指标是很关键的,我们在执行各种SQL语句的时候,提交事务的时候,其实都是大量的会写redo log之类的日志的,这些日志都会直接写磁盘文件。所以一台机器他的存储每秒可以读写多少字节的数据量,就决定了他每秒可以把多少redo log之类的日志写入到磁盘文件里去,一般来说我们写redo log之类的日志,都是对磁盘文件进行顺序写入的,也就是一行接着一行的写,不会说进行随机的读写,那么一般普通磁盘的顺序写入的吞吐量每秒都可以达到200MB左右。所以通常而言,机器的磁盘吞吐量都是足够承载高并发请求的。

【3】latency:这个指标说的是往磁盘里写入一条数据的延迟。我们执行SQL语句和提交事务的时候,都需要顺序写redo log磁盘文件,所以此时你写一条日志到磁盘文件里去,到底是延迟1ms,还是延迟100us,这就对你的数据库的SQL语句执行性能是有影响的。一般来说,当然是你的磁盘读写延迟越低,那么你的数据库性能就越高,你执行每个SQL语句和事务的时候速度就会越快。

【4】CPU负载:CPU负载是一个很重要的性能指标,因为假设你数据库压测到了每秒处理3000个请求了,可能其他的性能指标都还正常 ,但是此时CPU负载特别高,那么也说明你的数据库不能继续往下压测更高的QPS了,否则CPU是吃不消的。

【5】网络负载:这个主要是看看你的机器宽带的情况下,在压测到一定的QPS和TPS的时候,每秒钟机器的网卡会输入多少MB数据,会输出多少MB数据,因为有可能你的网络宽带最多每秒传输100MB的数据,那么可能你的QPS到1000的时候,网卡就打满了,已经每秒传输100MB的数据了,此时即使其他指标都还算正常,但是你也不能继续压测了。

【6】内存负载:这个就是看看在压测到一定情况下的时候,你的机器内存耗费了多少,如果说机器内存耗费过高了,说明也不能继续压测下去了。

相关文章

  • 06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的?

    QPS:Query Per Second。QPS就是说,你的这个数据库每秒可以处理多少个请求。 TPS:Trans...

  • Loadrunner性能测试

    一、性能测试需求分析 二、测试环境与生产环境 2.1 尽量模拟生产环境,模拟硬件比较难,可以等比模拟,比如生产是4...

  • 流量回放(自动化测试)

    功能测试 性能测试 流量回放 方案流量回放系统,利用生产上现有真实流量进行镜像,原始流量依然回到生产环境的真实服务...

  • 性能测试的准入、准出准则

    性能测试的准入准则 1、已提供模拟生产环境配置的性能测试环境 2、提交性能测试的功能模块必须已经通过测试 3、提交...

  • 10_App生产和测试环境的分离

    1. 概述 在 App 的开发阶段会有“测试”和“生产”两种环境。测试环境主要就是进行调试,功能完善,性能调优等的...

  • JVM性能监控与调优

    问题 生产环境发生了内存溢出该如何处理? 生产环境应该给服务器分配多少内存? 如何对垃圾收集器的性能进行调优? 生...

  • SpringBoot Admin2.0 集成 Java 诊断神器

    项目最初使用 Arthas 主要有两个目的: 通过 arthas 解决实现测试环境、性能测试环境以及生产环境性能问...

  • 性能测试基础---性能测试分类

    性能测试(狭义) 性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通...

  • 全链路压测含义

    全链路性能测试是基于真实的用户场景、实际线上环境、按照既定流量、对各个业务链路进行压力测试的过程。通常是在生产环境...

  • 性能测试的分类

    1、狭义性能测试 根据性能指标给出结果的测试。(模拟生产环境) 2、基准测试 给出性能指标。(性能指标未知) 3、...

网友评论

      本文标题:06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的?

      本文链接:https://www.haomeiwen.com/subject/bmmvxktx.html