Mysql压力测试shell脚本

标签: mysql 压力测试 shell | 发表时间:2013-02-28 22:52 | 作者:skyman_2001
出处:http://blog.csdn.net

转载请注明,来自: http://blog.csdn.net/skyman_2001

Mysql自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力。压力测试shell脚本如下:

#!/bin/sh
while true
do
    mysqlslap --concurrency=100 --iterations=10 --create-schema='test' --query="insert into test(c1,c2,c3,c4) values(1,1,1,'a')" --number-of-queries=200 --debug-info -uroot -p123456
    usleep 100
done

上面脚本的意思是每隔100ms循环做这样的事:模拟100个mysql客户端,对数据库test的表test执行200次插入(number-of-queries = concurrency * 每个mysql客户端的查询次数,所以这里的每个mysql客户端的查询次数是2次),迭代10次。--debug-info是打印内存和CPU的相关信息。

接着我们可以编写shell脚本来输出指定时间间隔(比如1秒)内的mysql操作次数,shell脚本如下:

#!/bin/sh

lastTimes="0"

while true
do
    currentTimes=$(mysql -uroot -p'123456' -e "show global status like 'Com_insert'" | sed '1d' | awk '{print $2}')
    times=$(expr ${currentTimes} - ${lastTimes})
    lastTimes="${currentTimes}"
    echo "${times}"
    sleep 1
done

查看mysql各种操作的次数,可以通过查看global status里的'Com_'开头的变量,它们就是mysql的操作命令,比如Com_insert就是插入命令、Com_update就是更新命令,等等,具体可以查看文档说明。将相邻两次的次数相减,就得到这个时间间隔内执行的次数。

PS:除了iostat等命令外,也可以通过top命令来查看io的负载(看wait的百分比,如果大于等于 1 / cpu核数,则说明硬盘IO有问题)。请参考: Understanding Disk I/O - when should you be worried?

作者:skyman_2001 发表于2013-2-28 22:52:13 原文链接
阅读:69 评论:0 查看评论

相关 [mysql 压力测试 shell] 推荐:

Mysql压力测试shell脚本

- - CSDN博客数据库推荐文章
转载请注明,来自: http://blog.csdn.net/skyman_2001. Mysql自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力. 上面脚本的意思是每隔100ms循环做这样的事:模拟100个mysql客户端,对数据库test的表test执行200次插入(number-of-queries = concurrency * 每个mysql客户端的查询次数,所以这里的每个mysql客户端的查询次数是2次),迭代10次.

老叶倡议:MySQL压力测试基准值

- - OurMySQL
   通常,我们会出于以下几个目的对MySQL进行压力测试:.    针对上面这几种压测的目的,相应的测试方法也有所不同.    先说第四种,需要和线上业务结合起来,这时候就需要自行开发测试工具,或者利用. tcpcopy 将线上实际用户请求导向测试环境,进行仿真模拟测试.    对于前三种,我们通常采用基准测试就可以.

linux 定期自动备份mysql的shell

- - OurMySQL
刚才有个玩家在站上玩游戏,提醒了我要及时备份数据啊,万一哪天服务器挂了把他们的数据丢了,我可就是罪人了. 一直打算放个自动备份的shell,都没有放. 安全起见,直接用Root执行的:. 以下是自动自动备份shell,只保留最新5天. AutoMySQLBackup — 轻量级MySQL备份方案. LINUX/win2003下mysql怎么定期自动备份数据库.

(总结)MySQL自带的性能压力测试工具mysqlslap详解

- - 服务器运维与网站架构|Linux运维|X研究
PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用. 其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的. mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具. 通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告.

linux、mysql、nginx、tomcat 环境下压力测试的主要调试参数

- - SegmentFault 最新的文章
一、linux 系统内核参数. /etc/sysctl.conf文件常用参数. net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目 net.core.rmem_max = 8388608. #SOCKET读缓存区大小 net.core.wmem_max = 8388608.

检查MySQL数据库服务器的shell脚本

- 铭文 - MySQLOPS 数据库与运维自动化技术分享
某著名电子商务公司的同事,编写的shell脚本,用于获得数据库服务器的数据库性能和配置,以及服务器负载LOAD等信息. shell脚本较长,也对shell脚本做了部分修改,同时为使技术朋友们更容易理解和使用,添加相关的文字和图片描述作为手册. 1.         功能描述. 执行shell命令:sh Get_Local_Kpi.sh –help,能显示相关信息,如图1-1:.

生成MySQL性能数据分析报告的Shell脚本

- EricSheng - MySQLOPS 数据库与运维自动化技术分享
【导读】 MySQL开源产品有非常丰富的分享出来可用的资源,比如本文要介绍的内容:如何每天简单地获得MySQL性能数据的报告,我们就可以利用perl脚本工具mysqlreport生成详细的性能数据分析报告,再借助sendEmail工具以邮件的方式发送出来,从而提高我们的工作效率,上期给大家介绍了SHELL脚本Get_Local_Kpi对我们工作的帮助.

一个备份MySQL数据库的简单Shell脚本

- - 博客 - 伯乐在线
本文翻译自  iSystemAdmin 的 《 A Simple Shell Script to Backup MySQL Database》. Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行. 我们也可以逐一敲入命令手动执行. 如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了.

自动备份mysql数据库 shell脚本

- - CSDN博客数据库推荐文章
最近使用了testlink和mantis这2个测试相关的系统,而他们又全部是基于mysql+php开发的,因此定期备份数据库也是很有必要的,下面是自己写的一个简单的shell脚本. 我的mysql是通过xampp这个套件安装的,因为这个套件可以一起安装testlink和mantis需要的php+apache环境.

每天自动备份MySQL数据库的shell脚本

- - WEB骇客
经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的. 一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行. 我们需要一种安全的,每天自动备份的方法. 下面的这个shell脚本就是能让你通过过设定Crontab来每天备份MySQL数据库的方法.