2012服务器如何做网站,福州seo外包公司,免费全能浏览器,企业软件解决方案目录 配置项目环境#xff1a;
参考#xff1a;采用sysbench压测mysql详解_dream21st的博客-CSDN博客
实验步骤#xff1a;
1、安装sysbench工具
2、在master上创建用户和库#xff0c;配置用户的权限可以使他可以访问库#xff08;Mysql的主从复制#xff09;
3、基…目录 配置项目环境
参考采用sysbench压测mysql详解_dream21st的博客-CSDN博客
实验步骤
1、安装sysbench工具
2、在master上创建用户和库配置用户的权限可以使他可以访问库Mysql的主从复制
3、基于sysbench构造测试表和测试数据
4、创建我们需要的数据库里的数据
5、数据库读写性能测试获取测试数据
6、执行完成压测之后可以将run改成cleanup清除数据
sysbench工具对Mysql数据库的其他测试代码
数据库读性能测试
数据库删除性能测试
数据库更新索引字段性能测
数据库更新非索引字段性能测试
数据库插入数据性能测试
数据库写性能测试
数据库清除创建的测试数据 配置项目环境
[rootab ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)[rootmysql-1 ~]# mysql --version
mysql Ver 14.14 Distrib 5.7.41, for linux-glibc2.12 (x86_64) using EditLine wrapper
[rootmysql-1 ~]# 参考采用sysbench压测mysql详解_dream21st的博客-CSDN博客
实验步骤
1、安装sysbench工具
[rootab ~]# yum install epel-release -y[rootab ~]# yum install sysbench -y已安装:sysbench.x86_64 0:1.0.17-2.el7 作为依赖被安装:ck.x86_64 0:0.5.2-2.el7 luajit.x86_64 0:2.0.5-1.20220913.46e62cd.el7 postgresql-libs.x86_64 0:9.2.24-8.el7_9 完毕2、在master上创建用户和库配置用户的权限可以使他可以访问库Mysql的主从复制
参考Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群_Claylpf的博客-CSDN博客
CREATE USER claylpf% IDENTIFIED BY 123456; #创建用户create database test_db; #创建测试库GRANT ALL PRIVILEGES ON test_db.* TO claylpf%; #配置用户权限FLUSH PRIVILEGES; #重新加载用户权限表
3、基于sysbench构造测试表和测试数据
[rootab ~]# sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_write --db-ps-modedisable prepare命令行中的参数说明 --db-drivermysql代表数据库驱动 --time300这个就是说连续访问300秒 --threads10这个就是说用10个线程模拟并发访问 --report-interval1这个就是说每隔1秒输出一下压测情况 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456数据库的用户和密码等信息 --mysql-dbtest_db --tables20 --table_size1000000这一串的意思就是说在test_db这个库里构造20个测试表每个测试表里构造100万条测试数据测试表的名字会是类似于sbtest1sbtest2这个样子的 oltp_read_write这个就是说执行oltp数据库的读写测试 --db-ps-modedisable这个就是禁止ps模式 prepare意思是参照这个命令的设置去构造出来我们需要的数据库里的数据他会自动创建20个测试表每个表里创建100万条测试数据所以这个工具是非常的方便的。 4、创建我们需要的数据库里的数据
[rootab ~]# sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_write --db-ps-modedisable prepare# 注意--tables10 --table_size1000所对应的数据不能调试太大如--tables20 --table_size1000000000否则会导致你的Mysql集群的磁盘耗尽导致集群崩溃.
sysbench 1.0.17 (using system LuaJIT 2.0.4)Initializing worker threads...Creating table sbtest10...
Creating table sbtest3...
Creating table sbtest9...
Creating table sbtest6...
Creating table sbtest1...
Creating table sbtest8...
Creating table sbtest4...
Creating table sbtest5...
Creating table sbtest7...
Creating table sbtest2...
Inserting 1000 records into sbtest10
Inserting 1000 records into sbtest1
Inserting 1000 records into sbtest2
Inserting 1000 records into sbtest4
Inserting 1000 records into sbtest5
Inserting 1000 records into sbtest6
Inserting 1000 records into sbtest7
Inserting 1000 records into sbtest8
Inserting 1000 records into sbtest9
Inserting 1000 records into sbtest3
Creating a secondary index on sbtest1...
Creating a secondary index on sbtest10...
Creating a secondary index on sbtest6...
Creating a secondary index on sbtest4...
Creating a secondary index on sbtest5...
Creating a secondary index on sbtest2...
Creating a secondary index on sbtest7...
Creating a secondary index on sbtest9...
Creating a secondary index on sbtest8...
Creating a secondary index on sbtest3...5、数据库读写性能测试获取测试数据
数据库读写性能测试将执行指令最后的prepare修改成run
[rootab ~]# sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_write --db-ps-modedisable run
sysbench 1.0.17 (using system LuaJIT 2.0.4)Running the test with following options:
Number of threads: 10
Report intermediate results every 1 second(s)
Initializing random number generator from current timeInitializing worker threads...Threads started!
# 下面是截取的执行1秒2秒3秒4秒等的数据。
[ 1s ] thds: 10 tps: 172.58 qps: 3597.26 (r/w/o: 2541.82/701.30/354.14) lat (ms,95%): 71.83 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 10 tps: 187.08 qps: 3691.57 (r/w/o: 2574.10/745.32/372.16) lat (ms,95%): 71.83 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 10 tps: 196.01 qps: 3961.13 (r/w/o: 2774.09/792.03/395.01) lat (ms,95%): 65.65 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 10 tps: 206.93 qps: 4139.62 (r/w/o: 2900.04/824.73/414.86) lat (ms,95%): 64.47 err/s: 1.00 reconn/s: 0.00
[ 5s ] thds: 10 tps: 212.06 qps: 4236.12 (r/w/o: 2970.79/841.22/424.11) lat (ms,95%): 62.19 err/s: 0.00 reconn/s: 0.00
[ 6s ] thds: 10 tps: 184.06 qps: 3728.31 (r/w/o: 2608.92/751.26/368.13) lat (ms,95%): 97.55 err/s: 0.00 reconn/s: 0.00
[ 7s ] thds: 10 tps: 208.86 qps: 4131.17 (r/w/o: 2894.02/819.44/417.71) lat (ms,95%): 59.99 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 10 tps: 214.14 qps: 4283.87 (r/w/o: 2997.01/858.58/428.29) lat (ms,95%): 62.19 err/s: 0.00 reconn/s: 0.00
[ 9s ] thds: 10 tps: 187.96 qps: 3725.23 (r/w/o: 2600.47/750.85/373.92) lat (ms,95%): 84.47 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 10 tps: 195.96 qps: 3981.11 (r/w/o: 2795.38/791.82/393.91) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00
^C
[rootab ~]# 对表中的数据进行说明以第一条数据做解释描述 thds: 10这个意思就是有10个线程在压测 tps: 151.70这个意思就是每秒执行了151.70个事务 qps: 2996.03这个意思就是每秒可以执行2996.03个请求 (r/w/o: 2091.83/600.80/303.40)这个意思就是说在每秒2996.03个请求中有2091.83个请求是读请求600.80个请求是写请求303.40个请求是其他的请求就是对QPS进行了拆解 lat (ms, 95%): 97.55这个意思就是说95%的请求的延迟都在 97.55毫秒以下 err/s: 0.00 reconn/s: 0.00这两个的意思就是说每秒有0个请求是失败的发生了0次网络重连 下面是执行完成后控制台输出的数据
SQL statistics:queries performed:read: 836822write: 239020other: 119517total: 1195359transactions: 59744 (199.12 per sec.)queries: 1195359 (3984.01 per sec.)ignored errors: 29 (0.10 per sec.)reconnects: 0 (0.00 per sec.)General statistics:total time: 300.0377stotal number of events: 59744Latency (ms):min: 19.82avg: 50.21max: 267.2895th percentile: 68.05sum: 2999907.14Threads fairness:events (avg/stddev): 5974.4000/21.35execution time (avg/stddev): 299.9907/0.016、执行完成压测之后可以将run改成cleanup清除数据
[rootab ~]# sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_write --db-ps-modedisable cleanup
sysbench 1.0.17 (using system LuaJIT 2.0.4)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...
[rootab ~]# sysbench工具对Mysql数据库的其他测试代码
数据库读性能测试
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_only --db-ps-modedisable run
数据库删除性能测试
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_delete --db-ps-modedisable run
数据库更新索引字段性能测
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_update_index --db-ps-modedisable run
数据库更新非索引字段性能测试
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_update_non_index --db-ps-modedisable run
数据库插入数据性能测试
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_insert --db-ps-modedisable run
数据库写性能测试
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_write_only --db-ps-modedisable run
数据库清除创建的测试数据
sysbench --db-drivermysql --time300 --threads10 --report-interval1 --mysql-host192.168.2.221 --mysql-port7001 --mysql-userclaylpf --mysql-password123456 --mysql-dbtest_db --tables10 --table_size1000 oltp_read_write --db-ps-modedisable cleanup