Mysql 如何进行压力测试?。浚?/h2>偶是队长软件工程师|5691个满意答案2009-08-24两种简单的方法怎么监控mysql的压力,一个是使用海量数据进行测试性能 。一个是使用测试工具 , 比如mysqlslap等等等等 。追问: mysqlslap工具在网上看怎么监控mysql的压力了,但不知道怎么用啊,能否告知一二???要下载这个工具吗?? 回答: 你要是有MYSQL5系列的数据库,这个工具是自带的啊 。如果没有,建议下载 。追问: 我是MySql5.1的啊,但还是没找到在哪儿?。浚浚磕芊裰傅阋幌掳? ,谢谢怎么监控mysql的压力?。。?回答: 晕,你当成可视化的怎么监控mysql的压力了?无语 。你打开控制台,然后就可以执行测试的命令了 。。。你可以参考下MYSQL的官方说明:dev.mysql.com/doc/refman/5.1/en/mysqlslap.html这个网上有很多的测试教程,你可以看看 , 不过不是特别实用 。。。追问: 我是应用程序的怎么用?。浚?回答: 我看 , 你可能有点误解了压力测试了 。第一,你的应用程序,是否是以数据为中心的 , 如果不是,那之前我和你说的那些全部就是废话 。第二,就算是以数据为中心的,你也没说明白你要测试什么,如果你要测试MYSQL,那没什么必要 。因为已经是很成熟的产品了 。第三,如果是你要测试你的程序,而且你的程序拥有后台数据库,那你可以针对不同平台的解决方案 , 使用不同的测试方法 , 比如如果是.NETMYSQL数据库 , 就可以使用VS自带的测试工具,连同代码,和数据访问都可以进行测试 。如果你是专业的软件测试人员,可以使用黑盒,白盒两种方式分别测试,不做赘述 。
如何测试mysql的性能和稳定性 有一些有用的工具可以测试MySQL 和基于MySQL 的系统的性能 。这里将演示如何利用这些工具进行测试 。
mysqlslap
mysqlslap可以模拟服务器的负载怎么监控mysql的压力,并输出计时信息 。它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用 。测试时可以执行并发连接数 , 并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中) 。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句 。
MySQL Benchmark Suite (sql-bench)
在MySQL 的发行包中也提供怎么监控mysql的压力了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试 。它是单线程的,主要用于测试服务器执行查询的速度 。结果会显示哪种类型的操作在服务器上执行得更快 。
这个测试套件的主要好处是包含怎么监控mysql的压力了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试 。其也可以用于高层次测试 , 比较两个服务器的总体性能 。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能) 。这些测试大部分是CPU 密集型的 , 但也有些短时间的测试需要大量的磁盘I/O 操作 。
这个套件的最大缺点主要有怎么监控mysql的压力:它是单用户模式的 , 测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大 。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别 。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考.
Super Smack
Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具 , 可以提供压力测试和负载生成 。这是一个复杂而强大的工具 , 可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表 。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素 。
Database Test Suite
Database Test Suite 是由开源软件开发实验室(OSDL,Open Source DevelopmentLabs)设计的,发布在SourceForge 网站上,这是一款类似某些工业标准测试的测试工具集,例如由事务处理性能委员会(TPC,Transaction Processing Performance Council)制定的各种标准 。特别值得一提的是,其中的dbt2 就是一款免费的TPC-C OLTP 测试工具(未认证) 。之前本书作者经常使用该工具,不过现在已经使用自己研发的专用于MySQL 的测试工具替代了 。
Percona's TPCC-MySQL Tool
我们开发了一个类似TPC-C 的基准测试工具集 , 其中有部分是专门为MySQL 测试开发的 。在评估大压力下MySQL 的一些行为时,我们经常会利用这个工具进行测试(简单的测试,一般会采用sysbench 替代),在源码库中有一个简单的文档说明 。
sysbench
sysbench是一款多线程系统压测工具 。它可以根据影响数据库服务器性能的各种因素来评估系统的性能 。例如,可以用来测试文件I/O、操作系统调度器、内存分配和传输速度、POSIX 线程 , 以及数据库服务器等 。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活 。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、操作系统和硬件的硬件测试 。(节选自《高性能MySQL》)
如何监控MySQL首先介绍下 pt-stalk , 它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了 。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2. MySQL 层面的行锁等待、会话连接、主从复制 , 状态参数等信息 。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好 , 脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系 。
三、使用
接着我们来看下如何使用这个工具 。
pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据 。
触发条件相关的参数有以下几个:
function:
° 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;
° 也可以设置为 processlist,代表监控 show processlist 的输出;
variable:
° 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;
threshold:
【怎么监控mysql的压力 监听mysql】° 默认为 25,代表 监控阈值,监控参数超过阈值 , 则满足触发条件;
° 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;
cycles:
° 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;
连接参数:host、password、port、socket 。
其他一些重要参数:
iterations:该参数指定 pt-stalk 在触发收集几次后退出 , 默认会一直运行 。
run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒 。
sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒 。
interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒 。
dest:监控数据存放路径,默认为 /var/lib/pt-stalk 。
retention-time :监控数据保留时长 , 默认 30 天 。
daemonize:以后台服务运行,默认不开启 。
log:后台运行日志,默认为 /var/log/pt-stalk.log 。
collect:触发发生时收集诊断数据 , 默认开启 。
° collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具 。
° collect-strace:收集跟踪数据 , 需要 strace 工具 。
° collect-tcpdump:收集 tcpdump 数据 , 需要 tcpdump 工具 。
压力测试 , win7下loadrunner 监控linux下的mysql , 怎么操作?。?/h2>LR只是模拟用户和服务器进行交互,你要监控服务器上数据库的情况,应该在LR跑批时在服务器上用数据库监控工具收集,mysql我不太清楚,好像有个Spotlight什么的,oracle的话用awr,另外linux上的系统性能监控工具可以用nmon
如何使用MySQL自带的性能压力测试工具mysqlslap1 使用--auto-generate-sql参数表示用mysqlslap工具自己生成的SQL脚本来测试并发压力 mysqlslap --auto-generate-sql -uroot -p123456 2 并发测试,使用–concurrency来模拟并发连接,连接数可以多个,用逗号隔开 mysqlslap --auto-generate-sql ...
如何监控mysql表记录变化本期怎么监控mysql的压力我们用 MySQL 提供怎么监控mysql的压力的 DBUG 工具来研究 MySQL 的 SQL 处理流程 。
起手先造个实例
这里得稍微改一下实例的启动文件 start怎么监控mysql的压力 , 将 CUSTOM_MYSQLD 改为 mysqld-debug:
重启一下实例怎么监控mysql的压力,加上 debug 参数:
我们来做一两个实验,说明 DBUG 包的作用:
先设置一个简单的调试规则 , 我们设置了两个调试选项:
d:开启各个调试点的输出
O,/tmp/mysqld.trace:将调试结果输出到指定文件
请点击输入图片描述
然后我们创建了一张表 , 来看一下调试的输出结果:
请点击输入图片描述
可以看到 create table 的过程中 , MySQL 的一些细节操作,比如分配内存 alloc_root 等
这样看还不够直观,我们增加一些信息:
请点击输入图片描述
来看看效果:
请点击输入图片描述
可以看到输出变成了调用树的形式,现在就可以分辨出 alloc_root 分配的内存 , 是为了解析 SQL 时用的(mysql_parse)
我们再增加一些有用的信息:
请点击输入图片描述
可以看到结果中增加了文件名和行号:
请点击输入图片描述
现在我们可以在输出中找一下统计表相关的信息:
请点击输入图片描述
可以看到 MySQL 在这里非常机智,直接执行了一个内置的存储过程来更新统计表 。
沿着 que_eval_sql,可以找到其他类似的统计表,比如下面这些:
请点击输入图片描述
请点击输入图片描述
本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来 。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等 。
这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制 。
怎么监控mysql的压力的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于监听mysql、怎么监控mysql的压力的信息别忘了在本站进行查找喔 。
推荐阅读
- 什么鱼漂钓鱼效果最好视频,钓鱼哪种鱼漂好
- sqlserver各个版本区别吗,sql server版本包括的版本种类
- 倒车会有什么危险视频,倒车很危险
- 许可直播录屏怎么录声音,直播录屏能录声音吗
- php怎么将时间插数据库 php时间不对
- sqlserver分组合计,sqlserver分组累加
- 酒吧经营游戏,酒吧经营游戏无限钞票版
- 电视里面的胡杰是什么电视,胡杰现状
- 累计正态函数python 正态累积函数