先看参数介绍
| Format | Option File | Description | Introduced |
|---|---|---|---|
| --auto-generate-sql | auto-generate-sql | Generate SQL statements automatically when they are not supplied in files or using command options | |
| --auto-generate-sql-add-autoincrement | auto-generate-sql-add-autoincrement | Add AUTO_INCREMENT column to automatically generated tables | |
| --auto-generate-sql-execute-number=# | auto-generate-sql-execute-number | Specify how many queries to generate automatically | |
| --auto-generate-sql-guid-primary | auto-generate-sql-guid-primary | Add a GUID-based primary key to automatically generated tables | |
| --auto-generate-sql-load-type=type | auto-generate-sql-load-type | Specify how many queries to generate automatically | |
| --auto-generate-sql-secondary-indexes=# | auto-generate-sql-secondary-indexes | Specify how many secondary indexes to add to automatically generated tables | |
| --auto-generate-sql-unique-query-number=# | auto-generate-sql-unique-query-number | How many different queries to generate for automatic tests. | |
| --auto-generate-sql-unique-write-number=# | auto-generate-sql-unique-write-number | How many different queries to generate for --auto-generate-sql-write-number | |
| --auto-generate-sql-write-number=# | auto-generate-sql-write-number | How many row inserts to perform on each thread | |
| --commit=# | commit | How many statements to execute before committing. | |
| --compress | compress | Compress all information sent between the client and the server | |
| --concurrency=# | concurrency | The number of clients to simulate when issuing the SELECT statement | |
| --create=value | create | The file or string containing the statement to use for creating the table | |
| --create-and-drop-schema=value | create-and-drop-schema | The schema in which to run the tests; dropped at the end of the test run | 5.5.12 |
| --create-schema=value | create-schema | The schema in which to run the tests | |
| --csv=[file] | csv | Generate output in comma-separated values format | |
| --debug[=debug_options] | debug | Write a debugging log | |
| --debug-check | debug-check | Print debugging information when the program exits | |
| --debug-info | debug-info | Print debugging information, memory and CPU statistics when the program exits | |
| --default-auth=plugin | default-auth=plugin | The authentication plugin to use | 5.5.10 |
| --delimiter=str | delimiter | The delimiter to use in SQL statements | |
| --detach=# | detach | Detach (close and reopen) each connection after each N statements | |
| --engine=engine_name | engine | The storage engine to use for creating the table | |
| --help | Display help message and exit | ||
| --host=host_name | host | Connect to the MySQL server on the given host | |
| --iterations=# | iterations | The number of times to run the tests | |
| --number-char-cols=# | number-char-cols | The number of VARCHAR columns to use if --auto-generate-sql is specified | |
| --number-int-cols=# | number-int-cols | The number of INT columns to use if --auto-generate-sql is specified | |
| --number-of-queries=# | number-of-queries | Limit each client to approximately this number of queries | |
| --only-print | only-print | Do not connect to databases. mysqlslap only prints what it would have done | |
| --password[=password] | password | The password to use when connecting to the server | |
| --pipe | On Windows, connect to server using a named pipe | ||
| --plugin-dir=path | plugin-dir=path | The directory where plugins are located | 5.5.10 |
| --port=port_num | port | The TCP/IP port number to use for the connection | |
| --post-query=value | post-query | The file or string containing the statement to execute after the tests have completed | |
| --post-system=str | post-system | The string to execute using system() after the tests have completed | |
| --pre-query=value | pre-query | The file or string containing the statement to execute before running the tests | |
| --pre-system=str | pre-system | The string to execute using system() before running the tests | |
| --protocol=type | protocol | The connection protocol to use | |
| --query=value | query | The file or string containing the SELECT statement to use for retrieving data | |
| --silent | silent | Silent mode | |
| --socket=path | socket | For connections to localhost | |
| --ssl-ca=file_name | ssl-ca | The path to a file that contains a list of trusted SSL CAs | |
| --ssl-capath=dir_name | ssl-capath | The path to a directory that contains trusted SSL CA certificates in PEM format | |
| --ssl-cert=file_name | ssl-cert | The name of the SSL certificate file to use for establishing a secure connection | |
| --ssl-cipher=cipher_list | ssl-cipher | A list of allowable ciphers to use for SSL encryption | |
| --ssl-key=file_name | ssl-key | The name of the SSL key file to use for establishing a secure connection | |
| --ssl-verify-server-cert | ssl-verify-server-cert | The server's Common Name value in its certificate is verified against the host name used when connecting to the server | |
| --user=user_name, | user | MySQL user name to use when connecting to server | |
| --verbose | Verbose mode | ||
| --version | Display version information and exit |
1.使用自动生成脚本测试数据库性能
mysqlslap -uroot -p123 -a --debug-info --concurrency=50,100 --number-of-queries=200 --engine=myisam,innodb
参数介绍
-u : 用户名
-p : 密码
-a (--auto-generate-sql) : 自动生成sql脚本测试数据库
--debug-info : 输出debug信息,包括内存,CPU等
--concurrency : 用户并发数,可填写多个
--number-of-queries : 每个用户的查询次数
--engine : 需要测试的数据库引擎
输出结果:
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 2.092 seconds
Minimum number of seconds to run all queries: 2.092 seconds
Maximum number of seconds to run all queries: 2.092 seconds
Number of clients running queries: 50
Average number of queries per client: 4Benchmark
Running for engine myisam
Average number of seconds to run all queries: 3.107 seconds
Minimum number of seconds to run all queries: 3.107 seconds
Maximum number of seconds to run all queries: 3.107 seconds
Number of clients running queries: 100
Average number of queries per client: 2Benchmark
Running for engine innodb
Average number of seconds to run all queries: 2.248 seconds
Minimum number of seconds to run all queries: 2.248 seconds
Maximum number of seconds to run all queries: 2.248 seconds
Number of clients running queries: 50
Average number of queries per client: 4Benchmark
Running for engine innodb
Average number of seconds to run all queries: 3.514 seconds
Minimum number of seconds to run all queries: 3.514 seconds
Maximum number of seconds to run all queries: 3.514 seconds
Number of clients running queries: 100
Average number of queries per client: 2
2.使用自定义SQL语句测试指定数据库
mysqlslap -uroot -plewis0913 --create-schema="test" --query="select * from user;" --concurrency=50,100 --debug-info
参数介绍
--create-schema : 需要测试的数据库
--query : 需要测试的sql语句
输出结果:
Benchmark
Average number of seconds to run all queries: 2.029 seconds
Minimum number of seconds to run all queries: 2.029 seconds
Maximum number of seconds to run all queries: 2.029 seconds
Number of clients running queries: 50
Average number of queries per client: 1Benchmark
Average number of seconds to run all queries: 2.544 seconds
Minimum number of seconds to run all queries: 2.544 seconds
Maximum number of seconds to run all queries: 2.544 seconds
Number of clients running queries: 100
Average number of queries per client: 1
浙公网安备 33010602011771号