Rumah pangkalan data tutorial mysql mysqlslap执行基准测试的代码详情介绍

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&#39;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>
Salin selepas log masuk


其中,完整的运行脚本如下

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
Salin selepas log masuk

待输入密码后,测试信息如下

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
Salin selepas log masuk

此时可以看出来,当并发达到了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
Salin selepas log masuk

 以上就是mysqlslap执行基准测试的代码详情介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat panas Tag

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penanda aras iPad Air 5 menunjukkan prestasi yang sama seperti iPad Pro 11 inci Penanda aras iPad Air 5 menunjukkan prestasi yang sama seperti iPad Pro 11 inci May 18, 2023 am 10:34 AM

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? Snapdragon 8 Gen 3 Apple vs. A17 Pro: Kedua-duanya mempunyai pengesanan sinar, tetapi yang manakah lebih baik? Oct 25, 2023 am 11:17 AM

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 Amalan penilaian prestasi pertanyaan konteks ultra panjang LLM Apr 03, 2024 am 11:55 AM

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 Ujian penanda aras kad grafik 3DMark Steal Nomad ditangguhkan untuk mencapai perbandingan merentas platform yang lebih adil Apr 02, 2024 am 08:58 AM

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? Bagaimana untuk menanda aras saluran paip menggunakan saluran paip dalam Go? Jun 04, 2024 pm 04:40 PM

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

Penanda aras dan perbandingan prestasi dalam bahasa Go Penanda aras dan perbandingan prestasi dalam bahasa Go May 08, 2024 am 09:27 AM

Penanda aras dan perbandingan prestasi dalam bahasa Go

Bagaimana untuk menanda aras dalam Go? Bagaimana untuk menanda aras dalam Go? May 11, 2023 pm 04:09 PM

Bagaimana untuk menanda aras dalam Go?

Panduan Pemula untuk Penandaarasan di Golang Panduan Pemula untuk Penandaarasan di Golang Aug 09, 2023 pm 09:04 PM

Panduan Pemula untuk Penandaarasan di Golang

See all articles