diff options
author | unknown <knielsen@knielsen-hq.org> | 2009-05-25 11:59:47 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2009-05-25 11:59:47 +0200 |
commit | cc5e283d15f10413924e92a86b4584d97246c64b (patch) | |
tree | b0b5c6d3604a735e66362a0888edcb210f60b7ba /man/mysqlslap.1 | |
parent | d7ae55e70414b8e17a7c89a3f7843479a7260747 (diff) | |
download | mariadb-git-cc5e283d15f10413924e92a86b4584d97246c64b.tar.gz |
Imported freely distributable documentation from upstream MySQL 5.1.34 source tarball.
Diffstat (limited to 'man/mysqlslap.1')
-rw-r--r-- | man/mysqlslap.1 | 454 |
1 files changed, 454 insertions, 0 deletions
diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 new file mode 100644 index 00000000000..8c9782060a4 --- /dev/null +++ b/man/mysqlslap.1 @@ -0,0 +1,454 @@ +.\" Title: \fBmysqlslap\fR +.\" Author: +.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/> +.\" Date: 03/31/2009 +.\" Manual: MySQL Database System +.\" Source: MySQL 5.1 +.\" +.TH "\fBMYSQLSLAP\fR" "1" "03/31/2009" "MySQL 5.1" "MySQL Database System" +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.SH "NAME" +mysqlslap \- load emulation client +.SH "SYNOPSIS" +.HP 20 +\fBmysqlslap [\fR\fB\fIoptions\fR\fR\fB]\fR +.SH "DESCRIPTION" +.PP +\fBmysqlslap\fR +is a diagnostic program designed to emulate client load for a MySQL server and to report the timing of each stage. It works as if multiple clients are accessing the server. +\fBmysqlslap\fR +is available as of MySQL 5.1.4. +.PP +Invoke +\fBmysqlslap\fR +like this: +.sp +.RS 3n +.nf +shell> \fBmysqlslap [\fR\fB\fIoptions\fR\fR\fB]\fR +.fi +.RE +.PP +Some options such as +\fB\-\-create\fR +or +\fB\-\-query\fR +enable you to specify a string containing an SQL statement or a file containing statements. If you specify a file, by default it must contain one statement per line. (That is, the implicit statement delimiter is the newline character.) Use the +\fB\-\-delimiter\fR +option to specify a different delimiter, which enables you to specify statements that span multiple lines or place multiple statements on a single line. You cannot include comments in a file; +\fBmysqlslap\fR +does not understand them. +.PP +\fBmysqlslap\fR +runs in three stages: +.TP 3n +1. +Create schema, table, and optionally any stored programs or data you want to using for the test. This stage uses a single client connection. +.TP 3n +2. +Run the load test. This stage can use many client connections. +.TP 3n +3. +Clean up (disconnect, drop table if specified). This stage uses a single client connection. +.sp +.RE +.PP +Examples: +.PP +Supply your own create and query SQL statements, with 50 clients querying and 200 selects for each: +.sp +.RS 3n +.nf +mysqlslap \-\-delimiter=";" \\ + \-\-create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" \\ + \-\-query="SELECT * FROM a" \-\-concurrency=50 \-\-iterations=200 +.fi +.RE +.PP +Let +\fBmysqlslap\fR +build the query SQL statement with a table of two +INT +columns and three +VARCHAR +columns. Use five clients querying 20 times each. Do not create the table or insert the data (that is, use the previous test's schema and data): +.sp +.RS 3n +.nf +mysqlslap \-\-concurrency=5 \-\-iterations=20 \\ + \-\-number\-int\-cols=2 \-\-number\-char\-cols=3 \\ + \-\-auto\-generate\-sql +.fi +.RE +.PP +Tell the program to load the create, insert, and query SQL statements from the specified files, where the +\fIcreate.sql\fR +file has multiple table creation statements delimited by +\';' +and multiple insert statements delimited by +\';'. The +\fB\-\-query\fR +file will have multiple queries delimited by +\';'. Run all the load statements, then run all the queries in the query file with five clients (five times each): +.sp +.RS 3n +.nf +mysqlslap \-\-concurrency=5 \\ + \-\-iterations=5 \-\-query=query.sql \-\-create=create.sql \\ + \-\-delimiter=";" +.fi +.RE +.PP +\fBmysqlslap\fR +supports the options in the following list. It also reads option files and supports the options for processing them described at +Section\ 4.2.3.2.1, \(lqCommand\-Line Options that Affect Option\-File Handling\(rq. +.TP 3n +\(bu +\fB\-\-help\fR, +\fB\-?\fR +.sp +Display a help message and exit. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\fR, +\fB\-a\fR +.sp +Generate SQL statements automatically when they are not supplied in files or via command options. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-add\-autoincrement\fR +.sp +Add an +AUTO_INCREMENT +column to automatically generated tables. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-execute\-number=\fR\fB\fIN\fR\fR +.sp +Specify how many queries to generate automatically. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-guid\-primary\fR +.sp +Add a GUID\-based primary key to automatically generated tables. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-load\-type=\fR\fB\fItype\fR\fR +.sp +Specify the test load type. The allowable values are +read +(scan tables), +write +(insert into tables), +key +(read primary keys), +update +(update primary keys), or +mixed +(half inserts, half scanning selects). The default is +mixed. This option was added in MySQL 5.1.16. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-secondary\-indexes=\fR\fB\fIN\fR\fR +.sp +Specify how many secondary indexes to add to automatically generated tables. By default, none are added. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-unique\-query\-number=\fR\fB\fIN\fR\fR +.sp +How many different queries to generate for automatic tests. For example, if you run a +key +test that performs 1000 selects, you can use this option with a value of 1000 to run 1000 unique queries, or with a value of 50 to perform 50 different selects. The default is 10. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-unique\-write\-number=\fR\fB\fIN\fR\fR +.sp +How many different queries to generate for +\fB\-\-auto\-generate\-sql\-write\-number\fR. The default is 10. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-auto\-generate\-sql\-write\-number=\fR\fB\fIN\fR\fR +.sp +How many row inserts to perform on each thread. The default is 100. This option was added in MySQL 5.1.16. +.TP 3n +\(bu +\fB\-\-commit=\fR\fB\fIN\fR\fR +.sp +How many statements to execute before committing. The default is 0 (no commits are done). This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-compress\fR, +\fB\-C\fR +.sp +Compress all information sent between the client and the server if both support compression. +.TP 3n +\(bu +\fB\-\-concurrency=\fR\fB\fIN\fR\fR, +\fB\-c \fR\fB\fIN\fR\fR +.sp +The number of clients to simulate when issuing the +SELECT +statement. +.TP 3n +\(bu +\fB\-\-create=\fR\fB\fIvalue\fR\fR +.sp +The file or string containing the statement to use for creating the table. +.TP 3n +\(bu +\fB\-\-create\-schema=\fR\fB\fIvalue\fR\fR +.sp +The schema in which to run the tests. This option was added in MySQL 5.1.5. +.TP 3n +\(bu +\fB\-\-csv[=\fR\fB\fIfile_name\fR\fR\fB]\fR +.sp +Generate output in comma\-separated values format. The output goes to the named file, or to the standard output if no file is given. This option was added in MySQL 5.1.5. +.TP 3n +\(bu +\fB\-\-debug[=\fR\fB\fIdebug_options\fR\fR\fB]\fR, +\fB\-# [\fR\fB\fIdebug_options\fR\fR\fB]\fR +.sp +Write a debugging log. The +\fIdebug_options\fR +string often is +\'d:t:o,\fIfile_name\fR'. +.TP 3n +\(bu +\fB\-\-debug\-check\fR +.sp +Print some debugging information when the program exits. This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-debug\-info\fR, +\fB\-T\fR +.sp +Print debugging information and memory and CPU usage statistics when the program exits. This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-delimiter=\fR\fB\fIstr\fR\fR, +\fB\-F \fR\fB\fIstr\fR\fR +.sp +The delimiter to use in SQL statements supplied in files or via command options. +.TP 3n +\(bu +\fB\-\-detach=\fR\fB\fIN\fR\fR +.sp +Detach (close and reopen) each connection after each +\fIN\fR +statements. The default is 0 (connections are not detached). This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-engine=\fR\fB\fIengine_name\fR\fR, +\fB\-e \fR\fB\fIengine_name\fR\fR +.sp +The storage engine to use for creating tables. +.TP 3n +\(bu +\fB\-\-host=\fR\fB\fIhost_name\fR\fR, +\fB\-h \fR\fB\fIhost_name\fR\fR +.sp +Connect to the MySQL server on the given host. +.TP 3n +\(bu +\fB\-\-iterations=\fR\fB\fIN\fR\fR, +\fB\-i \fR\fB\fIN\fR\fR +.sp +The number of times to run the tests. +.TP 3n +\(bu +\fB\-\-lock\-directory=\fR\fB\fIpath\fR\fR +.sp +The directory to use for storing locks. This option was added in MySQL 5.1.5 and removed in 5.1.18. +.TP 3n +\(bu +\fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, +\fB\-x \fR\fB\fIN\fR\fR +.sp +The number of +VARCHAR +columns to use if +\fB\-\-auto\-generate\-sql\fR +is specified. +.TP 3n +\(bu +\fB\-\-number\-int\-cols=\fR\fB\fIN\fR\fR, +\fB\-y \fR\fB\fIN\fR\fR +.sp +The number of +INT +columns to use if +\fB\-\-auto\-generate\-sql\fR +is specified. +.TP 3n +\(bu +\fB\-\-number\-of\-queries=\fR\fB\fIN\fR\fR +.sp +Limit each client to approximately this number of queries. This option was added in MySQL 5.1.5. +.TP 3n +\(bu +\fB\-\-only\-print\fR +.sp +Do not connect to databases. +\fBmysqlslap\fR +only prints what it would have done. This option was added in MySQL 5.1.5. +.TP 3n +\(bu +\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, +\fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR +.sp +The password to use when connecting to the server. If you use the short option form (\fB\-p\fR), you +\fIcannot\fR +have a space between the option and the password. If you omit the +\fIpassword\fR +value following the +\fB\-\-password\fR +or +\fB\-p\fR +option on the command line, you are prompted for one. +.sp +Specifying a password on the command line should be considered insecure. See +Section\ 5.5.6.2, \(lqEnd\-User Guidelines for Password Security\(rq. +.TP 3n +\(bu +\fB\-\-pipe\fR, +\fB\-W\fR +.sp +On Windows, connect to the server via a named pipe. This option applies only for connections to a local server, and only if the server supports named\-pipe connections. +.TP 3n +\(bu +\fB\-\-port=\fR\fB\fIport_num\fR\fR, +\fB\-P \fR\fB\fIport_num\fR\fR +.sp +The TCP/IP port number to use for the connection. +.TP 3n +\(bu +\fB\-\-post\-query=\fR\fB\fIvalue\fR\fR +.sp +The file or string containing the statement to execute after the tests have completed. This execution is not counted for timing purposes. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-shared\-memory\-base\-name=\fR\fB\fIname\fR\fR +.sp +On Windows, the shared\-memory name to use, for connections made via shared memory to a local server. This option applies only if the server supports shared\-memory connections. +.TP 3n +\(bu +\fB\-\-post\-system=\fR\fB\fIstr\fR\fR +.sp +The string to execute via +system() +after the tests have completed. This execution is not counted for timing purposes. This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-pre\-query=\fR\fB\fIvalue\fR\fR +.sp +The file or string containing the statement to execute before running the tests. This execution is not counted for timing purposes. This option was added in MySQL 5.1.18. +.TP 3n +\(bu +\fB\-\-pre\-system=\fR\fB\fIstr\fR\fR +.sp +The string to execute via +system() +before running the tests. This execution is not counted for timing purposes. This option was added in MySQL 5.1.21. +.TP 3n +\(bu +\fB\-\-preserve\-schema\fR +.sp +Preserve the schema from the +\fBmysqlslap\fR +run. The +\fB\-\-auto\-generate\-sql\fR +and +\fB\-\-create\fR +options disable this option. This option was added in MySQL 5.1.5 and removed in MySQL 5.1.23. +.TP 3n +\(bu +\fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR +.sp +The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want. For details on the allowable values, see +Section\ 4.2.2, \(lqConnecting to the MySQL Server\(rq. +.TP 3n +\(bu +\fB\-\-query=\fR\fB\fIvalue\fR\fR, +\fB\-q \fR\fB\fIvalue\fR\fR +.sp +The file or string containing the +SELECT +statement to use for retrieving data. +.TP 3n +\(bu +\fB\-\-silent\fR, +\fB\-s\fR +.sp +Silent mode. No output. +.TP 3n +\(bu +\fB\-\-slave\fR +.sp +Follow master locks for other +\fBmysqlslap\fR +clients. Use this option if you are trying to synchronize around one master server with +\fB\-\-lock\-directory\fR +plus NFS. This option was added in MySQL 5.1.5 and removed in 5.1.18. +.TP 3n +\(bu +\fB\-\-socket=\fR\fB\fIpath\fR\fR, +\fB\-S \fR\fB\fIpath\fR\fR +.sp +For connections to +localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. +.TP 3n +\(bu +\fB\-\-ssl*\fR +.sp +Options that begin with +\fB\-\-ssl\fR +specify whether to connect to the server via SSL and indicate where to find SSL keys and certificates. See +Section\ 5.5.7.3, \(lqSSL Command Options\(rq. +.TP 3n +\(bu +\fB\-\-use\-threads\fR +.sp +On Unix, the default is to use +fork() +calls and this option causes +\fBpthread\fR +calls to be used instead. (On Windows, the default is to use +pthread +calls and the option has no effect.) This option was added in MySQL 5.1.6 and removed in 5.1.18. +.TP 3n +\(bu +\fB\-\-user=\fR\fB\fIuser_name\fR\fR, +\fB\-u \fR\fB\fIuser_name\fR\fR +.sp +The MySQL user name to use when connecting to the server. +.TP 3n +\(bu +\fB\-\-verbose\fR, +\fB\-v\fR +.sp +Verbose mode. Print more information about what the program does. This option can be used multiple times to increase the amount of information. +.TP 3n +\(bu +\fB\-\-version\fR, +\fB\-V\fR +.sp +Display version information and exit. +.SH "COPYRIGHT" +.PP +Copyright 2007\-2008 MySQL AB, 2009 Sun Microsystems, Inc. +.PP +This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. +.PP +This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +.PP +You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA or see http://www.gnu.org/licenses/. +.SH "SEE ALSO" +For more information, please refer to the MySQL Reference Manual, +which may already be installed locally and which is also available +online at http://dev.mysql.com/doc/. +.SH AUTHOR +MySQL AB (http://www.mysql.com/). |