MySQL官方测试数据库:让开发者更加轻松地测试应用! (mysql官方测试数据库)

数据库是应用开发的重要组成部分之一,但面对各种需求和场景,开发人员在数据库层面上往往需要算法优化、分库分表、备份恢复等多种操作。由于测试操作中可能会对数据进行删改等危险操作,导致测试数据丢失等问题,一些开发者在平时的开发工作中会避免去进行测试,这会导致在发布版本之前无法清晰得了解应用在实际情况下的表现。

为了解决这个问题,MySQL官方测试数据库应运而生。MySQL官方测试数据库提供了许多开发者所需的测试数据库环境,使得开发人员能够在不影响现有应用环境的情况下对应用进行完整的测试。MySQL官方测试数据库能够满足不同业务场景下的需求,包括各种架构下的分区、存储过程以及异常情况下的数据恢复等。

MySQL官方测试数据库包含许多常用的信息和数据,如一系列的表、存储过程等。同时,MySQL官方测试数据库也为存储过程和函数提供相应的样例。通过官方的MySQL测试数据库,开发人员可以为他们的应用进行完整的测试工作,新事务的数据也能够方便地加入到其中,使得测试数据更加接近真实情况。

总体而言,MySQL官方测试数据库将开发人员的测试操作变得更加简单、高效,为开发人员在应用的开发、测试、优化等方面提供了极大的帮助,真正做到了让开发者更加轻松地测试应用。为每一个开发者提供可靠的测试环境,MySQL官方测试数据库将会是建立健壮、高效应用的有力工具之一。

相关问题拓展阅读:

  • 几个常用的MySQL性能测试工具

几个常用的MySQL性能测试工具

使用 bcc 工具观测 MySQL:1)dbstat功能:将 MySQL/PostgreSQL 的查询延迟汇总为直方图

语法:

dbstat >> {mysql,postgres}

选项:

{mysql,postgres}# 观测哪种数据库-h, –help     # 显示帮助然后退出-v, –verbose  # 显示BPF程序-p >, –pid >  # 要观测的进程号,空格分隔-m THRESHOLD, –threshold THRESHOLD# 只统计查询延迟比此阈值高的-u, –microseconds# 以微秒为时间单位来配棚显示延迟(默认单位:毫秒)-i INTERVAL, –interval INTERVAL# 打印摘要的时间间隔(单位:秒)

示例:

# 使用 syench 在被观测数据库上执行 select# dbstat mysql -p `pidof mysqld` -uTracing database queries for pids 3350 slower than 0 ms…^C     query latency (us) 

2)dbslower

功能:跟踪 MySQL/PostgreSQL 的查询时间高于阈值

语法:

dbslower >>  培弊则 {mysql,postgres}

参数:

{mysql,postgres}# 观测哪种数据库 -h, –help     # 显示帮助然后退出 -v, –verbose  # 显示BPF程序 -p >, –pid >  # 要观测的进程号,空格分隔 -m THRESHOLD, –threshold THRESHOLD# 只统计查询延迟比此阈值卜弊高的 -x PATH, –exe PATH# 数据库二进制文件的位置

示例:

# 使用syench在被观测数据库上执行update_index # dbslower mysql -p `pidof mysqld` -m 2 Tracing database queries for pids 3350 slower than 2 ms… TIME(s)PIDMS QUERY 1..996 UPDATE test1 SET k=k+1 WHERE id=963 3..069 UPDATE test1 SET k=k+1 WHERE id=628 5..171 UPDATE test1 SET k=k+1 WHERE id=325 7..853 UPDATE test1 SET k=k+1 WHERE id=595

5. 使用限制

bcc 基于 eBPF 开发(需要 Linux 3.15 及更高版本)。bcc 使用的大部分内容都需要 Linux 4.1 及更高版本。

“bcc.usdt.USDTException: failed to enable probe ‘query__start’; a possible cause can be that the probe requires a pid to enable” 需要 MySQL 具备 Dtrace tracepoint。

1、mysqlslap

安装:简单,装了mysql就有了

作用:模拟并发测试数据做贺梁库性能。

优点:简单,容易使用。

不足:不能指定生成的数据规模,测试过程不清楚针对十万级还是百万级数据做的测试,感觉不太适合做综合测试,比较适合针对既有数据库,对单个sql进行优化的测试。

使用方法:

可以使用mysqlslap –help来显示使用方法:

Default options are read from the following files in the given order:

/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf

–concurrency代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是10、50、100个并发。

–engines代表要测试的引擎,可以有多个,用分隔符隔开。

–iterations代表要运行这些测试多少次。

–auto-generate-sql 代表用系统自己生成的SQL脚本来测试。

–auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)

–number-of-queries 代表总共要运行多少次查询拍伍。每个客户运行的查询数量可以用查询总数/并发数来计算。

–debug-info 代表要额外输出CPU以及内存的相关信息。

–number-int-cols :创建测试表的 int 型字段数量

–auto-generate-sql-add-autoincrement : 代表对生成的表自动添加auto_increment列,从5.1.18版本开始

–number-char-cols 创建测试表的 char 型字段数量。

–create-schema 测试的schema,MySQL中schema也就是database。

–query 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。

–only-print 如果纯运只想打印看看SQL语句是什么,可以用这个选项。

mysqlslap -umysql -p123 –concurrency=100 –iterations=1 –auto-generate-sql –auto-generate-sql-add-autoincrement –auto-generate-sql-load-type=mixed –engine=myisam –number-of-queries=10 –debug-info

或:

指定数据库和sql语句:

mysqlslap -h192.168.3.18 -Pconcurrency=100 –iterations=1 –create-schema=’test’ –query=’select * from test;’ –number-of-queries=10 –debug-info -umysql -p123

要是看到底做了什么可以加上:–only-print

Benchmark

Average number of seconds to run all queries: 25.225 seconds

Minimum number of seconds to run all queries: 25.225 seconds

Maximum number of seconds to run all queries: 25.225 seconds

Number of clients running queries: 100

Average number of queries per client: 0

以上表明100个客户端同时运行要25秒

2、syench

安装:

可以从

下载

tar zxf syench-0.4.12.tar.gz

cd syench-0.4.12

./autogen.sh

./configure && make && make install

strip /usr/local/bin/syench

安装时候可能会报错,后来baidu发现个好文

怕以后找不到,也贴过来吧

1.如果mysql不是默认路径安装,那么需要通过指定–with-mysql-includes和–with-mysql-libs参数来加载mysql安装路径

2.如果报错:

../libtool: line 838: X–tag=CC: command not found

../libtool: line 871: libtool: ignoring unknown tag : command not found

../libtool: line 838: X–mode=link: command not found

../libtool: line 1004:Warning: inferring the mode of operation is deprecated.: command not found

../libtool: line 1005:Future versions of Libtool will require –mode=MODE be specified.: command not found

../libtool: line 2231: X-g: command not found

../libtool: line 2231: X-O2: command not found

那么执行下根目录的:autogen.sh文件,然后重新configure && make && make install

3.如果报错:

syench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

那么执行下:

n -s /usr/local/mysql5.5/mysql/lib/libmysqlclient.so.18 /usr/lib64/

4.如果执行autogen.sh时,报如下错误:

./autogen.sh: line 3: aclocal: command not found

那么需要安装一个软件:

yum install automake

然后需要增加一个参数:查找: AC_PROG_LIOOL 将其注释,然后增加AC_PROG_RANLIB

作用:模拟并发,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL

优点:可以指定测试数据的规模,可以单独测试读、写的性能,也可以测试读写混合的性能。

不足:测试的时候,由于网络原因,测试的非常慢,但是最终给的结果却很好,并发支持很高,所以给我的感觉是并不太准确。当然也可能我没搞明白原理

使用方法:

准备数据

syench –test=oltp –mysql-table-engine=myisam –oltp-table-size=mysql-db=dbtest2 –mysql-user=root –mysql-host=192.168.1.101 –mysql-password=pwd prepare

执行测试

syench –num-threads=100 –max-requests=test=oltp –mysql-table-engine=innodb –oltp-table-size=mysql-db=dbtest1 –mysql-user=root –mysql-host=192.168.1.101 –mysql-password=pwd run

syench 0.4.12: multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

Running the test with following options:

Number of threads: 100

Doing OLTP test.

Running mixed OLTP test

Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)

Using “BEGIN” for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 4000

Threads started!

Done.

OLTP test statistics:

queries performed:

read: 56014

write: 20235

other: 8002

total: 84021

transactions: 4001 (259.14 per sec.)

deadlocks: 0 (0.00 per sec.)

read/write requests:(4923.75 per sec.)

other operations: 8002 (518.29 per sec.)

Test execution summary:

total time: 15.4393s

total number of events: 4001

total time taken by event execution: 1504.7744

per-request statistics:

min: 33.45ms

avg: 376.10ms

max: 861.53ms

approx. 95 percentile: 505.65ms

Threads fairness:

events (avg/stddev): 40.0100/0.67

execution time (avg/stddev): 15.0477/0.22

3、tpcc-mysql

安装:

如果从原网站上下载源码比较麻烦,需要工具、注册、生成证书等。这里提供一个下载包

export C_INCLUDE_PATH=/usr/include/mysql

export PATH=/usr/bin:$PATH

export LD_LIBRARY_PATH=/usr/lib/mysql

cd /tmp/tpcc/src

make

然后就会在 /tmp/tpcc-mysql 下生成 tpcc 命令行工具 tpcc_load 、 tpcc_start

作用:测试mysql数据库的整体性能

优点:符合tpcc标准,有标准的方法,模拟真实的交易活动,结果比较可靠。

不足:不能单独测试读或者写的性能,对于一些以查询为主或者只写的应用,就没有这么大的意义了。

使用方法:

加载数据

创建库

mysql>create database tpcc10;

创建表:

shell>mysql tpcc10 mysql tpcc10 ./tpcc_load 192.168.11.172 tpcc10 root pwd 300

|主机||数据库||用户||密码||warehouse|

2、并发加载:(推荐,但需要修改一下)

shell>./load.sh tpcc

|数据库||warehouse|

3、测试

./tpcc_start -h192.168.11.172 -d tpcc -u root -p ‘pwd’ -w 10 -c 10 -r 10 -l 60 -i 10 -f /mnt/hgfs/mysql/tpcc100_.txt

***************************************

*** ###easy### TPC-C Load Generator ***

***************************************

option h with value ‘192.168.11.172’

option d with value ‘tpcc’

option u with value ‘root’

option p with value ‘pwd’

option w with value ‘1’

option c with value ‘100’

option r with value ‘120’

option l with value ’60’

option i with value ’10’

option f with value ‘/mnt/hgfs/mysql/tpcc100_.txt’

: 192.168.11.172

: 3306

: tpcc

: root

: pwd

: 1

: 100

: 120 (sec.)

: 60 (sec.)

RAMP-UP TIME.(120 sec.)

mysql官方测试数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql官方测试数据库,MySQL官方测试数据库:让开发者更加轻松地测试应用!,几个常用的MySQL性能测试工具的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/253499.html<

(0)
运维的头像运维
上一篇2025-04-29 22:34
下一篇 2025-04-29 22:35

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注