mysql之 mysql資料庫壓力測試工具(mysqlslap)
mysqlslap是從MySQL的5.1.4版開始就開始官方提供的壓力測試工具。透過模擬多個併發客戶端併發訪問MySQL來執行壓力測試,同時提供了較詳細的SQL執行資料效能報告,並且能很好的對比多個儲存引擎(MyISAM,InnoDB等)在相同環境下的相同併發壓力下的效能差別。
mysqlslap官方文件: https://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html
Table 4.14 mysqlslap Options
Format | Description | Introduced |
---|---|---|
--auto-generate-sql | Generate SQL statements automatically when they are not supplied in files or using command options | |
--auto-generate-sql-add-autoincrement | Add AUTO_INCREMENT column to automatically generated tables | |
--auto-generate-sql-execute-number | Specify how many queries to generate automatically | |
--auto-generate-sql-guid-primary | Add a GUID-based primary key to automatically generated tables | |
--auto-generate-sql-load-type | Specify the test load type | |
--auto-generate-sql-secondary-indexes | Specify how many secondary indexes to add to automatically generated tables | |
--auto-generate-sql-unique-query-number | How many different queries to generate for automatic tests. | |
--auto-generate-sql-unique-write-number | How many different queries to generate for --auto-generate-sql-write-number | |
--auto-generate-sql-write-number | How many row inserts to perform on each thread | |
--commit | How many statements to execute before committing. | |
--compress | Compress all information sent between client and server | |
--concurrency | Number of clients to simulate when issuing the SELECT statement | |
--create | File or string containing the statement to use for creating the table | |
--create-schema | Schema in which to run the tests | |
--csv | Generate output in comma-separated values format | |
--debug | Write debugging log | |
--debug-check | Print debugging information when program exits | |
--debug-info | Print debugging information, memory, and CPU statistics when program exits | |
--default-auth | Authentication plugin to use | 5.6.2 |
--defaults-extra-file | Read named option file in addition to usual option files | |
--defaults-file | Read only named option file | |
--defaults-group-suffix | Option group suffix value | |
--delimiter | Delimiter to use in SQL statements | |
--detach | Detach (close and reopen) each connection after each N statements | |
--enable-cleartext-plugin | Enable cleartext authentication plugin | 5.6.7 |
--engine | Storage engine to use for creating the table | |
--help | Display help message and exit | |
--host | Connect to MySQL server on given host | |
--iterations | Number of times to run the tests | |
--login-path | Read login path options from .mylogin.cnf | 5.6.6 |
--no-defaults | Read no option files | |
--no-drop | Do not drop any schema created during the test run | 5.6.3 |
--number-char-cols | Number of VARCHAR columns to use if --auto-generate-sql is specified | |
--number-int-cols | Number of INT columns to use if --auto-generate-sql is specified | |
--number-of-queries | Limit each client to approximately this number of queries | |
--only-print | Do not connect to databases. mysqlslap only prints what it would have done | |
--password | Password to use when connecting to server | |
--pipe | On Windows, connect to server using named pipe | |
--plugin-dir | Directory where plugins are installed | 5.6.2 |
--port | TCP/IP port number to use for connection | |
--post-query | File or string containing the statement to execute after the tests have completed | |
--post-system | String to execute using system() after the tests have completed | |
--pre-query | File or string containing the statement to execute before running the tests | |
--pre-system | String to execute using system() before running the tests | |
--print-defaults | Print default options | |
--protocol | Connection protocol to use | |
--query | File or string containing the SELECT statement to use for retrieving data | |
--secure-auth | Do not send passwords to server in old (pre-4.1) format | 5.6.17 |
--shared-memory-base-name | The name of shared memory to use for shared-memory connections | |
--silent | Silent mode | |
--socket | For connections to localhost, the Unix socket file to use | |
--ssl | Enable secure connection | |
--ssl-ca | Path of file that contains list of trusted SSL CAs | |
--ssl-capath | Path of directory that contains trusted SSL CA certificates in PEM format | |
--ssl-cert | Path of file that contains X509 certificate in PEM format | |
--ssl-cipher | List of permitted ciphers to use for connection encryption | |
--ssl-crl | Path of file that contains certificate revocation lists | 5.6.3 |
--ssl-crlpath | Path of directory that contains certificate revocation list files | 5.6.3 |
--ssl-key | Path of file that contains X509 key in PEM format | |
--ssl-mode | Security state of connection to server | 5.6.30 |
--ssl-verify-server-cert | Verify server certificate Common Name value against host name used when connecting to server | |
--user | MySQL user name to use when connecting to server | |
--verbose | Verbose mode | |
--version | Display version information and exit |
引數參考表: --host=host_name, -h host_name 連線到的MySQL伺服器的主機名(或IP地址),預設為本機localhost
1. 建立schema、table、test data 等 (在MySQL中,schema就是database);
2. 執行負載測試,可以使用多個併發客戶端連線;
3. 測試環境清理(刪除建立的資料、表等)。
[root@mysql ~]# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --auto-generate-sql-add-autoincrement --number-char-cols=10 --number-int-cols=5 -poracle
Warning: Using a password on the command line interface can be insecure.
Benchmark
Average number of seconds to run all queries: 0.775 seconds
Minimum number of seconds to run all queries: 0.775 seconds
Maximum number of seconds to run all queries: 0.775 seconds
Number of clients running queries: 50
Average number of queries per client: 20
Benchmark
Average number of seconds to run all queries: 0.984 seconds
Minimum number of seconds to run all queries: 0.984 seconds
Maximum number of seconds to run all queries: 0.984 seconds
Number of clients running queries: 100
Average number of queries per client: 10
[root@mysql ~]# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --auto-generate-sql-add-autoincrement --number-char-cols=10 --number-int-cols=5 --engine=myisam,innodb -poracle
Warning: Using a password on the command line interface can be insecure.
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 0.117 seconds
Minimum number of seconds to run all queries: 0.117 seconds
Maximum number of seconds to run all queries: 0.117 seconds
Number of clients running queries: 50
Average number of queries per client: 20
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 0.129 seconds
Minimum number of seconds to run all queries: 0.129 seconds
Maximum number of seconds to run all queries: 0.129 seconds
Number of clients running queries: 100
Average number of queries per client: 10
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 1.665 seconds
Minimum number of seconds to run all queries: 1.665 seconds
Maximum number of seconds to run all queries: 1.665 seconds
Number of clients running queries: 50
Average number of queries per client: 20
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 1.480 seconds
Minimum number of seconds to run all queries: 1.480 seconds
Maximum number of seconds to run all queries: 1.480 seconds
Number of clients running queries: 100
Average number of queries per client: 10
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2140611/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL基準壓力測試工具MySQLSlapMySql
- 壓力測試工具之mysqlslapMySql
- 用mysqlslap對MySQL進行壓力測試MySql
- mysql效能測試工具之mysqlslap薦MySql
- mysqlslap壓力測試MySql
- MySQL mysqlslap壓測MySql
- MySQL 效能測試工具mysqlslapMySql
- Mysql 壓力測試工具sysbenchMySql
- mysqlslap壓力測試介紹MySql
- Mysql5.1 - mysqlslap效能測試工具MySql
- MySQL壓測工具mysqlslap的介紹與使用MySql
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- centos7中mysql自帶壓測工具mysqlslap使用CentOSMySql
- 壓力測試工具之FIO
- mysql資料庫xtrabackup壓縮備份測試MySql資料庫
- 【工具】MySQL 壓測工具之mydbtestMySql
- 資料庫壓力測試工具tiobench,orion,lmbench,netperf資料庫
- Nginx壓力測試工具之WebBenchNginxWeb
- MySQL字元函式的壓力測試MySql字元函式
- 壓力測試工具
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 【MySQL】資料庫效能測試MySql資料庫
- mysqlslap 效能測試工具MySql
- nosql redis資料庫壓力測試基準工具redis-benchmarkSQLRedis資料庫
- mysql單例項壓力測試在青雲MySql單例
- mysql壓力測試在京東雲ssd雲盤(tpccmysql壓測)MySql
- 關於資料庫壓力測試的故事資料庫
- mysql之 sysbench1.0.3 安裝與系統壓力測試MySql
- 壓測工具之Sysbench1.0(2_MySQL壓測)MySql
- mysql壓力測試在青雲PCIE盤sysbench版本MySql
- mysql之 sysbench0.4.12資料庫效能測試MySql資料庫
- 一次資料庫壓力測試的故事資料庫
- 使用orastress!進行資料庫壓力測試(zt)AST資料庫
- 網站壓力測試工具網站
- mysql效能測試工具之tpcc-mysql薦MySql
- MySQL資料庫工具類之——DataTable批量加入MySQL資料庫(Net版)MySql資料庫
- mysqlslap 效能壓測MySql