测试MySQL数据库性能有什么工具
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本篇文章给大家主要讲的是关于测试MySQL数据库性能有什么工具的内容,感兴趣的话就一起来看看这篇文章吧,相信看完测试MySQL数据库性能有什么工具对大家多少有点参考价值吧。[root@wallet01
千家信息网最后更新 2025年11月15日测试MySQL数据库性能有什么工具
本篇文章给大家主要讲的是关于测试MySQL数据库性能有什么工具的内容,感兴趣的话就一起来看看这篇文章吧,相信看完测试MySQL数据库性能有什么工具对大家多少有点参考价值吧。
[root@wallet01 ~]# yum install -y make automake libtool libaio-devel pkgconfig mysql-devel[root@wallet01 ~]# git clone https://github.com/akopytov/sysbench.gitInitialized empty Git repository in /root/sysbench/.git/remote: Enumerating objects: 131, done.remote: Counting objects: 100% (131/131), done.remote: Compressing objects: 100% (95/95), done.remote: Total 9597 (delta 71), reused 70 (delta 32), pack-reused 9466Receiving objects: 100% (9597/9597), 4.13 MiB | 61 KiB/s, done.Resolving deltas: 100% (6842/6842), done.[root@wallet01 ~]# cd sysbench[root@wallet01 sysbench]# ./autogen.sh[root@wallet01 sysbench]# ./configure[root@wallet01 sysbench]# make[root@wallet01 sysbench]# make install[root@wallet01 ~]# sysbench --helpUsage: sysbench [options]... [testname] [command]Commands implemented by most tests: prepare run cleanup helpGeneral options: --threads=N number of threads to use [1] --events=N limit for total number of events [0] --time=N limit for total execution time in seconds [10] --forced-shutdown=STRING number of seconds to wait after the --time limit before forcing shutdown, or 'off' to disable [off] --thread-stack-size=SIZE size of stack per thread [64K] --rate=N average transactions rate. 0 for unlimited rate [0] --report-interval=N periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0] --report-checkpoints=[LIST,...] dump full statistics and reset all counters at specified points in time. The argument is a list of comma-separated values representing the amount of time in seconds elapsed from start of test when report checkpoint(s) must be performed. Report checkpoints are off by default. [] --debug[=on|off] print more debugging info [off] --validate[=on|off] perform validation checks where possible [off] --help[=on|off] print help and exit [off] --version[=on|off] print version and exit [off] --config-file=FILENAME File containing command line options --tx-rate=N deprecated alias for --rate [0] --max-requests=N deprecated alias for --events [0] --max-time=N deprecated alias for --time [0] --num-threads=N deprecated alias for --threads [1] Pseudo-Random Numbers Generator options: --rand-type=STRING random numbers distribution {uniform,gaussian,special,pareto} [special] --rand-spec-iter=N number of iterations used for numbers generation [12] --rand-spec-pct=N percentage of values to be treated as 'special' (for special distribution) [1] --rand-spec-res=N percentage of 'special' values to use (for special distribution) [75] --rand-seed=N seed for random number generator. When 0, the current time is used as a RNG seed. [0] --rand-pareto-h=N parameter h for pareto distribution [0.2] Log options: --verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3] --percentile=N percentile to calculate in latency statistics (1-100). Use the special value of 0 to disable percentile calculations [95] --histogram[=on|off] print latency histogram in report [off] General database options: --db-driver=STRING specifies database driver to use ('help' to get list of available drivers) [mysql] --db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto] --db-debug[=on|off] print database-specific debug information [off] Compiled-in database drivers: mysql - MySQL driver mysql options: --mysql-host=[LIST,...] MySQL server host [localhost] --mysql-port=[LIST,...] MySQL server port [3306] --mysql-socket=[LIST,...] MySQL socket --mysql-user=STRING MySQL user [sbtest] --mysql-password=STRING MySQL password [] --mysql-db=STRING MySQL database name [sbtest] --mysql-ssl[=on|off] use SSL connections, if available in the client library [off] --mysql-ssl-cipher=STRING use specific cipher for SSL connections [] --mysql-compression[=on|off] use compression, if available in the client library [off] --mysql-debug[=on|off] trace all client library calls [off] --mysql-ignore-errors=[LIST,...] list of errors to ignore, or "all" [1213,1020,1205] --mysql-dry-run[=on|off] Dry run, pretend that all MySQL client API calls are successful without executing them [off] Compiled-in tests: fileio - File I/O test cpu - CPU performance test memory - Memory functions speed test threads - Threads subsystem performance test mutex - Mutex performance testSee 'sysbench help' for a list of options for each test.[root@wallet01 ~]# cd /usr/local/share/sysbench[root@wallet01 sysbench]# ls -ltotal 64-rwxr-xr-x 1 root root 1452 Jan 10 08:47 bulk_insert.lua-rw-r--r-- 1 root root 14369 Jan 10 08:47 oltp_common.lua-rwxr-xr-x 1 root root 1290 Jan 10 08:47 oltp_delete.lua-rwxr-xr-x 1 root root 2415 Jan 10 08:47 oltp_insert.lua-rwxr-xr-x 1 root root 1265 Jan 10 08:47 oltp_point_select.lua-rwxr-xr-x 1 root root 1649 Jan 10 08:47 oltp_read_only.lua-rwxr-xr-x 1 root root 1824 Jan 10 08:47 oltp_read_write.lua-rwxr-xr-x 1 root root 1118 Jan 10 08:47 oltp_update_index.lua-rwxr-xr-x 1 root root 1127 Jan 10 08:47 oltp_update_non_index.lua-rwxr-xr-x 1 root root 1440 Jan 10 08:47 oltp_write_only.lua-rwxr-xr-x 1 root root 1919 Jan 10 08:47 select_random_points.lua-rwxr-xr-x 1 root root 2118 Jan 10 08:47 select_random_ranges.luadrwxr-xr-x 4 root root 4096 Jan 10 08:47 tests[root@wallet01 sysbench]# ./oltp_read_write.lua helpsysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)oltp_read_write.lua options: --auto_inc[=on|off] Use AUTO_INCREMENT column as Primary Key (for MySQL), or its alternatives in other DBMS. When disabled, use client-generated IDs [on] --create_secondary[=on|off] Create a secondary index in addition to the PRIMARY KEY [on] --delete_inserts=N Number of DELETE/INSERT combinations per transaction [1] --distinct_ranges=N Number of SELECT DISTINCT queries per transaction [1] --index_updates=N Number of UPDATE index queries per transaction [1] --mysql_storage_engine=STRING Storage engine, if MySQL is used [innodb] --non_index_updates=N Number of UPDATE non-index queries per transaction [1] --order_ranges=N Number of SELECT ORDER BY queries per transaction [1] --pgsql_variant=STRING Use this PostgreSQL variant when running with the PostgreSQL driver. The only currently supported variant is 'redshift'. When enabled, create_secondary is automatically disabled, and delete_inserts is set to 0 --point_selects=N Number of point SELECT queries per transaction [10] --range_selects[=on|off] Enable/disable all range SELECT queries [on] --range_size=N Range size for range SELECT queries [100] --secondary[=on|off] Use a secondary index in place of the PRIMARY KEY [off] --simple_ranges=N Number of simple range SELECT queries per transaction [1] --skip_trx[=on|off] Don't start explicit transactions and execute all queries in the AUTOCOMMIT mode [off] --sum_ranges=N Number of SELECT SUM() queries per transaction [1] --table_size=N Number of rows per table [10000] --tables=N Number of tables [1] [root@wallet01 ~]# mysql -uroot -pabcd.1234mysql> create database sbtest;Query OK, 1 row affected (0.02 sec)mysql> grant all on sbtest.* to 'sbtest'@'%' identified by 'sbtest'; Query OK, 0 rows affected (0.06 sec)mysql> flush privileges;Query OK, 0 rows affected (0.02 sec) [root@wallet01 ~]# sysbench --mysql-host=localhost --mysql-port=3306 --mysql-user=sbtest --mysql-password=sbtest \--threads=10 \/usr/local/share/sysbench/oltp_read_write.lua --tables=10 --table_size=100000 preparesysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)Initializing worker threads...Creating table 'sbtest10'...Creating table 'sbtest6'...Creating table 'sbtest7'...Creating table 'sbtest8'...Creating table 'sbtest9'...Creating table 'sbtest4'...Creating table 'sbtest3'...Creating table 'sbtest5'...Creating table 'sbtest2'...Creating table 'sbtest1'...Inserting 100000 records into 'sbtest1'Inserting 100000 records into 'sbtest6'Inserting 100000 records into 'sbtest9'Inserting 100000 records into 'sbtest10'Inserting 100000 records into 'sbtest4'Inserting 100000 records into 'sbtest3'Inserting 100000 records into 'sbtest2'Inserting 100000 records into 'sbtest7'Inserting 100000 records into 'sbtest5'Inserting 100000 records into 'sbtest8'Creating a secondary index on 'sbtest1'...Creating a secondary index on 'sbtest6'...Creating a secondary index on 'sbtest10'...Creating a secondary index on 'sbtest9'...Creating a secondary index on 'sbtest5'...Creating a secondary index on 'sbtest2'...Creating a secondary index on 'sbtest7'...Creating a secondary index on 'sbtest3'...Creating a secondary index on 'sbtest4'...Creating a secondary index on 'sbtest8'...[root@wallet01 ~]# sysbench --mysql-host=localhost --mysql-port=3306 --mysql-user=sbtest --mysql-password=sbtest \--threads=10 --time=120 --report-interval=10 \/usr/local/share/sysbench/oltp_read_write.lua --tables=10 --table_size=100000 runsysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:Number of threads: 10Report intermediate results every 10 second(s)Initializing random number generator from current timeInitializing worker threads...Threads started![ 10s ] thds: 10 tps: 53.79 qps: 1092.88 (r/w/o: 765.65/218.76/108.48) lat (ms,95%): 331.91 err/s: 0.00 reconn/s: 0.00[ 20s ] thds: 10 tps: 54.90 qps: 1099.92 (r/w/o: 770.01/220.00/109.90) lat (ms,95%): 320.17 err/s: 0.00 reconn/s: 0.00[ 30s ] thds: 10 tps: 60.00 qps: 1198.19 (r/w/o: 838.60/239.60/120.00) lat (ms,95%): 277.21 err/s: 0.00 reconn/s: 0.00[ 40s ] thds: 10 tps: 55.90 qps: 1119.41 (r/w/o: 784.00/223.60/111.80) lat (ms,95%): 308.84 err/s: 0.00 reconn/s: 0.00[ 50s ] thds: 10 tps: 57.60 qps: 1138.70 (r/w/o: 796.60/227.60/114.50) lat (ms,95%): 248.83 err/s: 0.00 reconn/s: 0.00[ 60s ] thds: 10 tps: 64.70 qps: 1306.90 (r/w/o: 915.60/261.20/130.10) lat (ms,95%): 231.53 err/s: 0.00 reconn/s: 0.00[ 70s ] thds: 10 tps: 62.30 qps: 1243.40 (r/w/o: 869.60/249.20/124.60) lat (ms,95%): 240.02 err/s: 0.00 reconn/s: 0.00[ 80s ] thds: 10 tps: 63.20 qps: 1267.40 (r/w/o: 887.40/253.60/126.40) lat (ms,95%): 219.36 err/s: 0.00 reconn/s: 0.00[ 90s ] thds: 10 tps: 60.70 qps: 1214.00 (r/w/o: 849.80/242.80/121.40) lat (ms,95%): 287.38 err/s: 0.00 reconn/s: 0.00[ 100s ] thds: 10 tps: 59.10 qps: 1180.10 (r/w/o: 826.00/236.00/118.10) lat (ms,95%): 257.95 err/s: 0.00 reconn/s: 0.00[ 110s ] thds: 10 tps: 57.40 qps: 1149.70 (r/w/o: 805.00/229.80/114.90) lat (ms,95%): 277.21 err/s: 0.00 reconn/s: 0.00[ 120s ] thds: 10 tps: 61.00 qps: 1218.29 (r/w/o: 852.59/243.80/121.90) lat (ms,95%): 244.38 err/s: 0.00 reconn/s: 0.00SQL statistics: queries performed: read: 99624 write: 28464 other: 14232 total: 142320 transactions: 7116 (59.21 per sec.) queries: 142320 (1184.27 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.)General statistics: total time: 120.1739s total number of events: 7116Latency (ms): min: 50.46 avg: 168.79 max: 1260.52 95th percentile: 262.64 sum: 1201077.94Threads fairness: events (avg/stddev): 711.6000/5.77 execution time (avg/stddev): 120.1078/0.04 [root@wallet01 ~]# sysbench --mysql-host=localhost --mysql-port=3306 --mysql-user=sbtest --mysql-password=sbtest \--threads=10 \/usr/local/share/sysbench/oltp_read_write.lua --tables=10 --table_size=100000 cleanupsysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)Dropping table 'sbtest1'...Dropping table 'sbtest2'...Dropping table 'sbtest3'...Dropping table 'sbtest4'...Dropping table 'sbtest5'...Dropping table 'sbtest6'...Dropping table 'sbtest7'...Dropping table 'sbtest8'...Dropping table 'sbtest9'...Dropping table 'sbtest10'... 以上关于测试MySQL数据库性能有什么工具详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。
工具
性能
数据
数据库
测试
内容
价值
兴趣
文章
更多
板块
篇文章
行业
资讯
参考
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库学习
查看数据库压力
封开县网络安全周
阜新app软件开发哪家好
江苏信息化少儿编程平台软件开发
数据库原理中什么是外连接
数据库三级有什么用
联合公安开展网络安全检查
前端和后台的数据库文档
学app软件开发能学会吗
南部im即时通讯软件开发
服务器机房管理软件
如何提升服务器的安全性
哪里找股票软件开发
软件开发工具自考答案
数据库为整型字符
药品广告数据库修正10秒
媒体上对网络安全的看法
公安局公安网络安全大检查
数据库以188开头
敏捷软件开发讲解
win 服务器管理面板
网络安全有年龄限制吗
想找服务器怎么建
共亨充电软件开发
charls数据库是什么格式
小程序页面获取数据库数据
微软免费vpn服务器
电信网络安全定义
连云港网络安全工程师招聘