[MySQL]-压力测试之性能监测指标

news2024/11/18 1:32:07

[MySQL]-压力测试之性能监测指标

森格 | 2022年12月

本文主要是介绍在数据库的压测过程中,要时刻的一些指标,尤其是当数据库的性能达到瓶颈时,要注意哪个指标已经打满。

一、前文回顾

在前面量两篇文章中,分别介绍了两款压测数据库的工具,Sysbench 与 TPCC-MySQL,大家可以点击链接回顾一下(大概需要10分钟)。在压力测试中,我们不断增加并发数去获取当前数据库配置下的最大性能(QPS、TPS、TPMC等)。

今天呢,我们来注意下在这过程中,是哪些方面的原因导致了性能达到了瓶颈。

二、机器配置

对于压力测试前,我们需要对我们的机器大概的配置有一个了解,在这里个人写了个shell脚本供大家做参考:

#!/bin/sh
#Date:2022年10月21日
#author:liangsen
#
echo -e "\033[41;30;30mI will show computer Infomation there\033[0m"
echo ""
echo -e "\033[44;30;30m====================CPU========================\033[0m"
grep "model name" /proc/cpuinfo
echo ""
echo -e "\033[44;30;30m================Memory Size====================\033[0m"
grep MemTotal /proc/meminfo
echo ""
echo -e "\033[44;30;30m=================32/64Bit=======================\033[0m"
getconf LONG_BIT
echo ""
echo -e "\033[44;30;30m===============Linux version====================\033[0m"
cat /etc/redhat-release
echo ""
echo -e "\033[44;30;30m=================Linux Core=====================\033[0m"
uname -r
echo ""
echo -e "\033[44;30;30m============HardDisk And Partition==============\033[0m"
df -h
echo ""
echo -e "\033[44;30;30m=====================IP==========================\033[0m"
ifconfig
echo "gateWay"
cat /etc/sysconfig/network
echo "DNS"
cat /etc/resolv.conf
echo ""
echo -e "\033[44;30;30m=====================HostName==========================\033[0m"
hostname
echo ""

该脚本分别展示了机器的CPU、内存、位数、Linux版本、Linux内核版本、磁盘和分区情况、IP地址以及主机名称。
在这里插入图片描述
在这里插入图片描述

三、性能监测

对于测试的性能,我们可以从几个方面来观察,分别是 CPU、磁盘、内存、网络。

注:在压力测试过程,如果想要测试到最佳的性能,最好压测机和被压测机分开来。

工具

这里使用dstat来对几个指标进行监测。dstat结合了vmstat,iostat,ifstat,netstat以及更多的信息, 实时显示统计情况,输出报告, 在分析和排障时可以通过启用监控项并排序, 模块化设计,使用python编写的,方便扩展现有的工作任务。

安装:

# 使用 yum 安装
hostname>yum install dstat
# 检测是否安装成功
hostname>dstat

查看dstat参数:

Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics

Dstat options:
  -c, --cpu              enable cpu stats
     -C 0,3,total           include cpu0, cpu3 and total
  -d, --disk             enable disk stats
     -D total,hda           include hda and total
  -g, --page             enable page stats
  -i, --int              enable interrupt stats
     -I 5,eth2              include int5 and interrupt used by eth2
  -l, --load             enable load stats
  -m, --mem              enable memory stats
  -n, --net              enable network stats
     -N eth1,total          include eth1 and total
  -p, --proc             enable process stats
  -r, --io               enable io stats (I/O requests completed)
  -s, --swap             enable swap stats
     -S swap1,total         include swap1 and total
  -t, --time             enable time/date output
  -T, --epoch            enable time counter (seconds since epoch)
  -y, --sys              enable system stats

  --aio                  enable aio stats
  --fs, --filesystem     enable fs stats
  --ipc                  enable ipc stats
  --lock                 enable lock stats
  --raw                  enable raw stats
  --socket               enable socket stats
  --tcp                  enable tcp stats
  --udp                  enable udp stats
  --unix                 enable unix stats
  --vm                   enable vm stats

  --plugin-name          enable plugins by plugin name (see manual)
  --list                 list all available plugins

  -a, --all              equals -cdngy (default)
  -f, --full             automatically expand -C, -D, -I, -N and -S lists
  -v, --vmstat           equals -pmgdsc -D total

  --bits                 force bits for values expressed in bytes
  --float                force float values on screen
  --integer              force integer values on screen

  --bw, --blackonwhite   change colors for white background terminal
  --nocolor              disable colors (implies --noupdate)
  --noheaders            disable repetitive headers
  --noupdate             disable intermediate updates
  --output file          write CSV output to file
  --profile              show profiling statistics when exiting dstat

对我们来说,用到 -cdrmngy就足以:

hostname>dstat -cdrmngy

在这里插入图片描述

total-cpu-usage:

usrsysidlwaihiqsiq
用户时间占比系统时间占比空闲时间占比等待时间占比硬中断软中断

dsk/total:

readwrit
磁盘的读总数(KB或者MB)磁盘的写总数(KB或者MB)

net/total:

recvsend
网络设备接收的数据总数(KB或者MB)网络设备发送的数据总数(KB或者MB)

paging(系统的分页活动):

inout
换入次数换出次数

system(系统统计):

intcsw
终端次数上下文切换次数

四、总结

在压测过程中,需要我们时刻监测这些性能指标,并去分析哪个指标是是性能达到瓶颈的关键因素,从而可以更好地去进行性能优化。以上仅为个人总结,如有不对之处欢迎大佬们指导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据标注过程中会遇到哪些难题 | 景联文科技

“近年来,⼈⼯智能发展迅速,影响着我们⽣活中的方方面面。随着⼈⼯智能应⽤场景不断增加,作为⼈⼯智能的上游基础⾏业,数据标注行业也快速发展,但许多不成熟的标注团队组织由于管理水平有限,且没有系统的标…

【C++笔试强训】第五天

文章目录选择题编程题选择题 在上下文和头文件均正常情况下,以下程序的输出结果是() int x 1; do{printf("%2d\n",x) }while(x--);A 1 B 无任何输出 C 2 D 陷入死循环 x1,x是后置,先使用,在加…

Python之路200个小例子网页版,真诚奉献,从一而终!

前言 历史两个月,利用所有业余时间,与朋友一起搜集、创作Python小例子,截止目前已超过200个例子: Python之路 1 简洁之美 2 Python绘图 3 Python动画 4 Python数据分析 5 Python机器学习 6 Python-GUI 一、Python基础 1…

Acrel-EIOT免调试抄表系统

安科瑞 华楠 一、远程抄表系统应用场景-互联网用户(能源参与者) 二、远程抄表系统互联网用户的痛点 2.1 数据系统价格偏高 一套系统需要前期勘察、画图、出方案、报价,建设投入服务器、网络布线、交换机,网关、人工施工及调试&…

Vue中使用vxe-table组件分页查询,多页选择数据回显,分页记录保存选中的数据

官方示例:vxe-table v3https://vxetable.cn/v3/#/table/advanced/page 当表格中需要渲染的数据量比较大,有几万几十万条数据时,在前端分页将会非常慢,建议将当前页码和每页数量传递个后端,后端分好后给前端渲染。 后端…

电脑重装小白系统没内存怎该如何解决

很多网友想要重装系统,但是在用小白系统安装的时候提示没内存怎么办呢?我们可以卸载自己的电脑软件,或者是扩充一下自己电脑内存。不知道如何处理相关问题的小伙伴可以直接看看下面小编分享的文章小白系统没内存怎么办。 工具/原料: 系统版…

MySQL主从复制-----读写分离

MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台Mysql数据库(slave从库)从另一台mysql数据库(master,主库)进行日志的复制然后再解析日志并应用到自身,最终…

nacos--基础--2.5--部署--集群--传统

nacos–基础–2.5–部署–集群–传统 前提 使用hd用户登陆 完成基础环境搭建https://blog.csdn.net/zhou920786312/article/details/1182123021、机器 IP端口备注192.168.187.1718848xx192.168.187.1728848xx192.168.187.1738848xx 2、tar.gz安装 2.1、安装 参考 nacos–基…

javaee之黑马旅游网4

下面来做旅游线路的查询功能 1.查询参数传递 在header.html 我们先找到这部分的位置 上面就加了两个id 引入这个js文件 控制搜索框 那我们现在来说一下,cid怎么来获取,换句话说cid是从什么地方传过来的? 首先header.html页面是被包含在r…

人力资源杂志人力资源杂志社人力资源编辑部2022年第20期目录

专题研究《人力资源》投稿:cnqikantg126.com 破解高端人才引聚难 林翠玲; 1-3 如何凸显集团企业人力资源管理价值 刘鹏飞; 4-5 中长期激励,激活科研人员创新力 刘灿;汪思源; 6-7 改革人才评价体系,助推“双一流”建设 杨帆; …

STM32CUBEMX_配置stm32f103c8t6的bootloader_USB升级

STM32CUBEMX_配置stm32f103c8t6的bootloader_USB升级 1、使用stm32cubemx配置好工程(版本6.3.0),生成keil工程 2、移植必须要的一些函数 3、使用dfusedemo工具软件测试 ①配时钟外设 ②配ST-Link调试接口(防止无法二次烧录程序&a…

理解Python的协程(Coroutine)

生成器(Generator) yield表达式的使用生产者和消费者模型yield from表达式协程(Coroutine) asyncio.coroutineasync/await总结参考链接 由于GIL的存在,导致Python多线程性能甚至比单线程更糟。 GIL: 全局解释器锁(英语:Global Interpreter Lo…

InvocationException: GraphViz‘s executables not found【BUG已解决】

项目场景: 在机器学习框架中遇到了一个bug:安装了GraphViz模块后,在对着sklearn的决策树文档操作输出决策树模型结果时,还是爆出了如下的错误: 报错位置为: display(Image(graph.create_png())) graph.wr…

艾美捷低内毒素CpG ODN寡聚脱氧核苷酸全家族系列

免疫佐剂,是一类可以增强抗原免疫原性的免疫调节分子、化合物或大分子复合物。大多数佐剂可以通过启动先天免疫系统来辅助抗原应答。先天免疫系统通过模式识别受体(pattern recognition receptor,PRR)来感知各种微生物表达的病原体…

SQL通用语法及分类

目录 MySQL的启动和连接&数据模型 SQL通用语法及分类 Data Definition Language DDL - 数据库操作 DDL - 表操作 表操作 - 创建&&查询 表操作 - 数据类型 表操作-修改&&删除 DDL总结 Data Manipulation Language DML - 插入数据insert DML - 更…

高佣金流量卡上线

01 流量卡业务 常规的运营商套餐相对都比较贵,少则六七十一个月,多则几百块一个月,这样的套餐让运营商赚盆满钵满。 随着5G需求越来越多,其他第三方运营商也开始市场化营销,流量卡的CPA基本在60-200之间一张卡&…

汽车喷漆车间风淋室八大参数TENAISU

汽车喷漆车间风淋室风淋室配置八大参数 汽车喷漆车间风淋室及汽车涂装车间风淋室配置八大参数,光电感应自动功能系统、自动身份识别功能系统、自动臭氧杀菌功能系统、自动紫外线杀菌功能系统、自动除静电离子发生功能系统、可调延时开门功能系统、过滤器失效预警功能系统、自动…

焦脱镁叶绿酸-a修饰无机纳米材料/活性基团/上转换纳米发光颗粒/点击化学/抗体的应用

小编今天分享的科研知识是焦脱镁叶绿酸-a修饰无机纳米材料/活性基团/上转换纳米发光颗粒/点击化学/抗体的应用,一起来看! 焦脱镁叶绿酸-a衍生物的应用: 叶绿素降解产物是合成光动力治疗药物的理想合成前体.为了获得新型叶绿素类光敏剂,以焦脱…

Vscode踩坑日记--行尾序列LF和CRLF

Vscode踩坑日记–行尾序列LF和CRLF 今天一上午什么也没干,一直配置Vscode,之前因为代码提交问题,需要解决配置一下eslint,问题就来了。 插件,配置信息什么都写好了还是一堆错误??让我很懵逼 …

基于Java Springboot-MySQL实现学生信息成绩管理系统

学生成绩管理系统 项目设计的意义。 该系统的具体任务就是设计一个学生成绩的数据库管理系统,由计算机代替人工执行一系列诸如增加新学生成绩信息、删除学生成绩信息、学生资料、查询、修改等的处理操作,以方便管理人员的管理信息工作。本设计以学生成绩…