Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Introduction and use of official pressure testing tool mysqlslap

2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Mysqlslap is an official stress testing tool that can simulate multiple clients for concurrent testing.

For example, how much concurrency can be simulated, how many times it can be executed, for a certain storage engine. Wait

For example, the concurrency of the myisam engine is 100 and the number of queries is 1000.

-- concurrency is used to specify concurrency,-- number-of-queries=1000 is used to specify the number of queries, and-- engine is used to specify storage engine.

-a generates SQL automatically (when file or command is not provided)

[op@sAno1y] $mysqlslap-a-concurrency=100-number-of-queries=1000-engine=myisam-uroot-prootWarning: Using a password on the command line interface can be insecure.BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.167 secondsMinimum number of seconds to run all queries: 0.167 secondsMaximum number of seconds to run all queries: 0.167 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.170 secondsMinimum number of seconds to run all queries: 0.170 secondsMaximum Number of seconds to run all queries: 0.170 secondsNumber of clients running queries: 200Average number of queries per client: 5

Of course, you can iterate and output in one test:

Among them-- concurrency can write-- concurrency=128256512 and so on, and-- engine can also iterate to write-- engine=innodb,myisam,memory and so on.

For example:

The addition of the-- debug-info parameter makes the test results more detailed.

[op@sAno1y] $mysqlslap-a-- concurrency=100200-- iterations=1-- number-of-queries=1000-- engine=myisam,innodb Memory-- debug-info-uroot-prootWarning: Using a password on the command line interface can be insecure.BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.160 secondsMinimum number of seconds to run all queries: 0.160 secondsMaximum number of seconds to run all queries: 0.160 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.164 secondsMinimum number of seconds to run all queries: 0.164 secondsMaximum number of seconds to run all queries: 0.164 secondsNumber of clients running queries: 200Average number of queries per client: 5BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.787 secondsMinimum number of seconds to run all queries: 0.787 secondsMaximum number of seconds to run all queries: 0.787 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 1.154 secondsMinimum number of seconds to run all queries: 1.154 secondsMaximum number of seconds to run all queries: 1.154 secondsNumber of clients running queries: 200Average number of queries per client: 5BenchmarkRunning for engine memoryAverage number of seconds to run All queries: 0.140 secondsMinimum number of seconds to run all queries: 0.140 secondsMaximum number of seconds to run all queries: 0.140 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine memoryAverage number of seconds to run all queries: 0.159 secondsMinimum number of seconds to run all queries: 0.159 secondsMaximum number of seconds to run all queries: 0.159 secondsNumber of clients running queries: 200Average number of queries per client: 5User time 0.23 System time 0.25Maximum resident set size 12788, Integral resident set size 0Non-physical pagefaults 11916, Physical pagefaults 0, Swaps 0Blocks in 0 out 0, Messages in 0 out 0, Signals 0Voluntary context switches 25055, Involuntary context switches 99 where Average number of queries per client = number-of-queries / concurrency

That is, the average query of one client = total query / concurrent

In addition, the parameter-- auto-general-sql-load-type can also be selected. The default is mixed.

Other options are: update, write, key, read.

Appendix:

Mysqlslap option:

Mysqlslap Ver 1.0 Distrib 5.6.26, for Linux (x86 / 64) Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Run a query multiple times against the server.Usage: mysqlslap [OPTIONS] Default options are read from the following files in the given order:/etc/my.cnf / etc/mysql/my.cnf / home/op/softwares/mysql/etc/my.cnf ~ / .my.cnfThe following groups are read: mysqlslap clientThe following options may be given as the first argument:--print-defaults Print the program argument list and exit.--no-defaults Don't read default options from any option file Except for login file.--defaults-file=# Only read default options from the given file #.-defaults-extra-file=# Read this file after the global files are read.--defaults-group-suffix=#Also read groups with concat (group, suffix)-login-path=# Read this path from the login file.-?,-help Display this help and exit.-a -- auto-generate-sqlGenerate SQL where not supplied by file or command line.--auto-generate-sql-add-autoincrementAdd an AUTO_INCREMENT column to auto-generated tables.--auto-generate-sql-execute-number=#Set this number to generate a set number of queries torun.--auto-generate-sql-guid-primaryAdd GUID based primary keys to auto-generated tables.--auto-generate-sql-load-type=nameSpecify test load type: mixed, update, write, key, orread Defaultis mixed.--auto-generate-sql-secondary-indexes=#Number of secondary indexes to add to auto-generatedtables.--auto-generate-sql-unique-query-number=#Number of unique queries to generate forau tomatic tests.--auto-generate-sql-unique-write-number=#Number of unique queries to generate forauto-generate-sql-write-number.--auto-generate-sql-write-number=#Number of row inserts to perform for each thread (defaultis 100)-- commit=# Commit records every X number of statements.-C -- compress Use compression in server/client protocol.-c,-- concurrency=nameNumber of clients to simulate for query to run.--create=name File or string to use create tables.--create-schema=nameSchema to run tests in.--csv [= name] Generate CSV output to named file or to stdout if no fileis named.-#,-- debug [= #] This is a non-debug version Catch this and exit.--debug-check Check memory and open file usage at exit.-T-- debug-info Print some debug info at exit.--default-auth=name Default authentication client-side plugin to use.-F,-- delimiter=nameDelimiter to use in SQL statements supplied in file orcommand line.--detach=# Detach (close and reopen) connections after X number ofrequests.--enable-cleartext-pluginEnable/disable the cleartext authentication plugin.-e,-- engine=name Storage engine to use for creating the table.-h,-- host=name Connect to host.-i -iterations=# Number of times to run the tests.--no-drop Do not drop the schema after the test.-x,-- number-char-cols=nameNumber of VARCHAR columns to create in table ifspecifying-- auto-generate-sql.-y,-- number-int-cols=nameNumber of INT columns to create in table ifspecifying-- auto-generate-sql.--number-of-queries=#Limit each client to this number of queries (this is notexact).-- only-print Do not connect to the databases, but instead print outwhat would have been done.-p Password [= name] Password to use when connecting to server. If password isnot given it's asked from the tty.--plugin-dir=name Directory for client-side plugins.-P,-port=# Port number to use for connection.--post-query=name Query to run or file containing query to execute aftertests have completed.--post-system=name system () string to execute aftertests have completed.--pre-query=name Query to run or file containing query to execute beforerunning tests.--pre-system=name system () string to execute beforerunning tests.--protocol=name The protocol to use for connection (tcp, socket, pipe,memory).-Q Query=name Query to run or file containing query to run.--secure-auth Refuse client connecting to server if it uses old (pre-4.1.1) protocol. (Defaults to on Use-- skip-secure-auth to disable.)-s,-- silent Run program in silent mode-no output.-S,-- socket=name The socket file to use for connection.--ssl Enable SSL for connection (automatically enabled withother flags).-- ssl-ca=name CA file in PEM format (check OpenSSL docs, implies--ssl).-- ssl-capath=name CA directory (check OpenSSL docs Implies-- ssl).-- ssl-cert=name X509 cert in PEM format (implies-- ssl).-- ssl-cipher=name SSL cipher to use (implies-- ssl).-- ssl-key=name X509 key in PEM format (implies-- ssl).-- ssl-crl=name Certificate revocation list (implies-- ssl).-- ssl-crlpath=name Certificate revocation list path (implies-- ssl).-- ssl-verify-server-certVerify server's "Common Name" in its cert againsthostname used when connecting. This option is disabled bydefault.-u-- user=name User for login if not current user.-v,-- verbose More verbose output; you can use this multiple times toget even more verbose output.-V,-- version Output version information and exit.

The disadvantages of mysqlslap are obvious, for example, the duration cannot be set, such as 24 hours, the number of tables cannot be specified, and so on.

Its most obvious advantage is that it can compare different storage engines.

Official account of the author (continuously updated)

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report