作为DBA,你不得不掌握的压测工具
创建库、表,导入数据用于测试。此过程由单线程完成。
开始进行压力测试。该步骤可以使用多线程完成。
清理测试数据。此过程由单线程完成。
~]# mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrementEnter password:Benchmark#运行所有语句的平局时间,单位秒Average number of seconds to run all queries: 0.018 seconds#运行所有语句的最小秒数Minimum number of seconds to run all queries: 0.018 seconds#运行所有语句的最大秒数Maximum number of seconds to run all queries: 0.018 seconds#客户端数量Number of clients running queries: 1#每个客户端运行查询的平均数Average number of queries per client: 0
--auto-generate-sql:自动生成测试表和数据,mysqlslap工具自己生成sql脚本进行测试。
--auto-generate-sql-load-type:指定测试语句的类型。取值包括:read,key,write,update和mixed(默认)。
--auto-generate-sql-add-autoincrement:生成的表中会添加自增列。
mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --concurrency=100 --number-of-queries=1000
--concurrency=100:指定同时有100个客户端连接
--number-of-queries=1000:指定总的测试查询次数,该值除以concurrency的值就是每个客户端执行的查询次数。
mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200
mysqlslap -uroot -p --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql
mysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";"
cd sysbench-0.5./autogen.sh./configure --prefix=/usr/local/sysbench --build=x86_64make && make installcp /usr/local/sysbench/bin/sysbench /usr/bin/验证sysbench安装是否成功。[root@node1 ~]# sysbench --versionsysbench 0.5
[root@node1 ~]# sysbench --test=cpu --cpu-max-prime=2000 runsysbench 0.5: multi-threaded system evaluation benchmarkRunning the test with following options:Number of threads: 1Random number generator seed is 0 and will be ignored…………………………General statistics:total time: 1.1302s…………………………….
sysbench --test=memory --memory-block-size=8k --memory-total-size=100G run
sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw cleanup
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root prepare
mysql> select count(*) from sbtest1;+----------+| count(*) |+----------+| 1000000 |+----------+
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run
OLTP test statistics:queries performed:read: 407498write: 0other: 58214total: 465712transactions: 29107 (485.07 per sec.)requests: 407498 (6790.91 per sec.)other operations: 58214 (970.13 per sec.)ignored errors: 0 (0.00 per sec.)reconnects: 0 (0.00 per sec.)General statistics:total time: 60.0064stotal number of events: 29107total time taken by event execution: 479.9865sresponse time:min: 1.55msavg: 16.49msmax: 539.30ms95 percentile: 25.98msThreads fairness:events (avg/stddev): 3638.3750/42.84execution time (avg/stddev): 59.9983/0.00
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root cleanup
本文分享自微信公众号 - MySQL数据库技术栈(Mysqltechnology)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Python C扩展的引用计数问题探讨
Python GC机制 对于Python这种高级语言来说,开发者不需要自己管理和维护内存。Python采用了引用计数机制为主,标记-清除和分代收集两种机制为辅的垃圾回收机制。 首先,需要搞清楚变量和对象的关系: 变量:通过变量指针引用对象。变量指针指向具体对象的内存空间,取对象的值。 对象,类型已知,每个对象都包含一个头部信息(头部信息:类型标识符和引用计数器) 引用计数 python里每一个东西都是对象,它们的核心就是一个结构体:PyObject,其中ob_refcnt就是引用计数。当一个对象有新的引用时,ob_refcnt就会增加,当引用它的对象被删除,ob_refcnt就会减少。当引用计数为0时,该对象生命就结束了。 typedef struct_object { int ob_refcnt; struct_typeobject *ob_type; } PyObject; #define Py_INCREF(op) ((op)->ob_refcnt++) //增加计数 #define Py_DECREF(op) \ //减少计数 if (--(op)->ob_refc...
-
下一篇
程序员进阶系列:多图教你掌握JVM
提及 JVM 这个词,估计大家 都能简单说两句,但是根据身边朋友以及诸多粉丝提出的疑问, 能系统讲出来 JVM 的 却真心很少。 网上讲解 JVM 这块的文章非常多,不过鱼龙混杂,鉴于 JVM 也是最考验 Java 程序员的基础功底啦,今天静下来,一起画画图,一起梳理梳理,好好填补一下这块,争取无论走到哪里,大家在脑海中都能有行走的 JVM 内存模型图。 1 JVM 初识 在讲解 JVM 之前,先来揭秘一下 Java 程序是如何实现一次编译到处运行的? 步骤一:用文本编辑器或者 IDE,快速编写HelloWorld.java的源代码文件; 步骤二:用 Java 编译器(javac)把源代码(*.java)编译成字节码文件(*.class); 步骤三:字节码文件(.class)便可以在任何安装了 JVM 的操作系统中运行,JVM 会将字节码翻译成可以被机器执行的本地机器码。 那么重点来了,Java 是如何实现一次编译到处运行的呢?通过上图应该很清晰找到解。 解一:Java 一次编译,到处运行,跨平台的特性是通过 JVM 来实现的,通过 JVM 来屏蔽底层操作系统的差异; 解二:Java...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker容器配置,解决镜像无法拉取问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7

微信收款码
支付宝收款码