mysqlslap执行基准测试的代码详情介绍
Mar 04, 2017 pm 02:43 PM查看mysqlslap所支持的主要参数配置及说明如下
<span style="color: #000000">-a, --auto-generate-sql 由系统自动生成SQL脚本进行测试<br/> Generate SQL where not supplied by file or command line.<br/> --auto-generate-sql-add-autoincrement 生成的表中增加自增的ID<br/> Add an AUTO_INCREMENT column to auto-generated tables.--auto-generate-sql-load-type=name 制定测试过程中使用的查询类型<br/> Specify test load type: mixed, update, write, key, or<br/> read; default is mixed.--auto-generate-sql-write-number=# 制定所生成的初始化数据的条数<br/> Number of row inserts to perform for each thread (default<br/> is 100).-c, --concurrency=name 制定并发线程的数量<br/> Number of clients to simulate for query to run.<br/> --create=name File or string to use create tables.<br/> --create-schema=name 创建一个测试数据库的schema名称<br/> Schema to run tests in.-T, --debug-info This is a non-debug version. Catch this and exit.指定输出额外的内存及CPU统计信息-e,<br/> --engine=name Storage engine to use for creating the table. 指定所测试的存储引擎,用逗号可以分割以便测试多个引擎<br/> -h, --host=name Connect to host. 链接远程主机的IP<br/> -i, --iterations=# Number of times to run the tests. 指定本次测试需要运行的次数<br/> --no-drop Do not drop the schema after the test. 指定测试完成后,不清理过程数据<br/> -x, --number-char-cols=name 指定测试表中生成的varchar类型的数据数量<br/> Number of VARCHAR columns to create in table if<br/> specifying --auto-generate-sql.<br/> -y, --number-int-cols=name 指定测试表中生成的int类型的数据数量<br/> Number of INT columns to create in table if specifying<br/> --auto-generate-sql.<br/> --number-of-queries=# 指定每一个线程所执行的查询数量<br/> Limit each client to this number of queries (this is not<br/> exact).<br/> --only-print Do not connect to the databases, but instead print out 并不运行测试脚本,而是把生成的脚本打印出来<br/> what would have been done.<br/> -p, --password[=name] 指定测试所用的链接数据库的密码<br/> Password to use when connecting to server. If password is<br/> not given it's asked from the tty.-q, --query=name Query to run or file containing query to run.自定义测试用的sql<br/> -u, --user=name User for login if not current user. 指定测试所用的链接数据库的用户名<br/></span>
其中,完整的运行脚本如下
mysqlslap -S /tmp/mysql3306.sock --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=10 --create-schema=test -uroot -p
待输入密码后,测试信息如下
Enter password: Benchmark Running for engine innodb Average number of seconds to run all queries: 0.097 seconds Minimum number of seconds to run all queries: 0.093 seconds Maximum number of seconds to run all queries: 0.107 seconds Number of clients running queries: 1 Average number of queries per client: 10Benchmark Running for engine innodb Average number of seconds to run all queries: 0.506 seconds Minimum number of seconds to run all queries: 0.447 seconds Maximum number of seconds to run all queries: 0.570 seconds Number of clients running queries: 50 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 2.204 seconds Minimum number of seconds to run all queries: 1.595 seconds Maximum number of seconds to run all queries: 3.257 seconds Number of clients running queries: 100 Average number of queries per client: 0mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections
此时可以看出来,当并发达到了200的时候,出现了Too many connections的异常,这是因为mysql默认配置的最大链接数为100,故需要对my.cnf做如下的修改
添加max_connections=1024,之后运行正常
Benchmark Running for engine innodb Average number of seconds to run all queries: 0.093 seconds Minimum number of seconds to run all queries: 0.087 seconds Maximum number of seconds to run all queries: 0.098 seconds Number of clients running queries: 1 Average number of queries per client: 10Benchmark Running for engine innodb Average number of seconds to run all queries: 0.514 seconds Minimum number of seconds to run all queries: 0.462 seconds Maximum number of seconds to run all queries: 0.545 seconds Number of clients running queries: 50 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 1.209 seconds Minimum number of seconds to run all queries: 1.173 seconds Maximum number of seconds to run all queries: 1.241 seconds Number of clients running queries: 100 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 2.174 seconds Minimum number of seconds to run all queries: 1.978 seconds Maximum number of seconds to run all queries: 2.402 seconds Number of clients running queries: 200 Average number of queries per client: 0
以上就是mysqlslap执行基准测试的代码详情介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat panas Tag

Artikel Panas

Alat panas Tag

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penanda aras iPad Air 5 menunjukkan prestasi yang sama seperti iPad Pro 11 inci

Snapdragon 8 Gen 3 Apple vs. A17 Pro: Kedua-duanya mempunyai pengesanan sinar, tetapi yang manakah lebih baik?

Amalan penilaian prestasi pertanyaan konteks ultra panjang LLM

Ujian penanda aras kad grafik 3DMark Steal Nomad ditangguhkan untuk mencapai perbandingan merentas platform yang lebih adil

Bagaimana untuk menanda aras saluran paip menggunakan saluran paip dalam Go?

Penanda aras dan perbandingan prestasi dalam bahasa Go

Bagaimana untuk menanda aras dalam Go?

Panduan Pemula untuk Penandaarasan di Golang
