zoukankan      html  css  js  c++  java
  • mysql 性能测试工具 mysqlslap

    原文链接:

    https://my.oschina.net/moooofly/blog/152547

    连接数据库:

    # mysqlslap -h localhost -uroot -p123456

    --concurrency=50 模拟客户
    --iterations=200 执行多少次
    --number-int-cols=2 2个int 类型
    --number-char-cols=3 3个vachar类型
    --auto-generate-sql 自动生成sql
    --query=query.sql
    --query="select * from tb"
    --create=create.sql 
     –engine=innodb 指定引擎
    # mysqlslap --help
    mysqlslap  Ver 1.0 Distrib 5.6.10, for Linux (x86_64)
    Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    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 /usr/local/mysql/etc/my.cnf ~/.my.cnf 
    The following groups are read: mysqlslap client
    The 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-sql 自动生成测试表和数据
                          Generate SQL where not supplied by file or command line.
      --auto-generate-sql-add-autoincrement 增加auto_increment一列
                          Add an AUTO_INCREMENT column to auto-generated tables.
      --auto-generate-sql-execute-number=# 自动生成的查询的个数
                          Set this number to generate a set number of queries to
                          run.
      --auto-generate-sql-guid-primary 增加基于GUID的主键
                          Add GUID based primary keys to auto-generated tables.
      --auto-generate-sql-load-type=name 测试语句的类型。取值包括:read,key,write,update和mixed(默认)
                          read:查询 write:插入 key:读主键 update:更新主键 mixed:一半插入一半查询
                          Specify test load type: mixed, update, write, key, or
                          read; default is mixed.
      --auto-generate-sql-secondary-indexes=# 增加二级索引的个数,默认是0
                          Number of secondary indexes to add to auto-generated
                          tables.
      --auto-generate-sql-unique-query-number=# 不同查询的数量,默认值是10
                          Number of unique queries to generate for automatic tests.
      --auto-generate-sql-unique-write-number=# 不同插入的数量,默认是100
                          Number of unique queries to generate for
                          auto-generate-sql-write-number.
      --auto-generate-sql-write-number=# 
                          Number of row inserts to perform for each thread (default
                          is 100).
      --commit=#          多少条DML后提交一次
                          Commit records every X number of statements.
      -C, --compress      如果服务器和客户端支持都压缩,则压缩信息传递
                          Use compression in server/client protocol.
      -c, --concurrency=name 模拟N个客户端并发执行select。可指定多个值,以逗号或者 --delimiter 参数指定的值做为分隔符
                          Number of clients to simulate for query to run.
      --create=name       指定用于创建表的.sql文件或者字串
                          File or string to use create tables.
      --create-schema=name 指定待测试的数据库名,MySQL中schema也就是database,默认是mysqlslap
                          Schema to run tests in.
      --csv[=name]        Generate CSV output to named file or to stdout if no file
                          is 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    打印内存和CPU的信息
                          Print some debug info at exit.
      --default-auth=name Default authentication client-side plugin to use.
      -F, --delimiter=name 文件中的SQL语句使用分割符号
                          Delimiter to use in SQL statements supplied in file or
                          command line.
      --detach=#          每执行完N个语句,先断开再重新打开连接
                          Detach (close and reopen) connections after X number of
                          requests.
      --enable-cleartext-plugin 
                          Enable/disable the clear text 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=name 自动生成的测试表中包含多少个字符类型的列,默认1
                          Number of VARCHAR columns to create in table if
                          specifying --auto-generate-sql.
      -y, --number-int-cols=name 自动生成的测试表中包含多少个数字类型的列,默认1
                          Number of INT columns to create in table if specifying
                          --auto-generate-sql.
      --number-of-queries=# 总的测试查询次数(并发客户数×每客户查询次数)
                          Limit each client to this number of queries (this is not
                          exact).
      --only-print        只输出模拟执行的结果,不实际执行
                          Do not connect to the databases, but instead print out
                          what would have been done.
      -p, --password[=name] 
                          Password to use when connecting to server. If password is
                          not 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   测试完成以后执行的SQL语句的文件或者字符串 这个过程不影响时间计算
                          Query to run or file containing query to execute after
                          tests have completed.
      --post-system=name  测试完成以后执行的系统语句 这个过程不影响时间计算
                          system() string to execute after tests have completed.
      --pre-query=name    测试执行之前执行的SQL语句的文件或者字符串 这个过程不影响时间计算
                          Query to run or file containing query to execute before
                          running tests.
      --pre-system=name   测试执行之前执行的系统语句 这个过程不影响时间计算
                          system() string to execute before running tests.
      --protocol=name     The protocol to use for connection (tcp, socket, pipe,
                          memory).
      -q, --query=name    指定自定义.sql脚本执行测试。例如可以调用自定义的一个存储过程或者sql语句来执行测试
                          Query to run or file containing query to run.
      -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 with
                          other 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-cert 
                          Verify server's "Common Name" in its cert against
                          hostname used when connecting. This option is disabled by
                          default.
      -u, --user=name     User for login if not current user.
      -v, --verbose       输出更多的信息
                          More verbose output; you can use this multiple times to
                          get even more verbose output.
      -V, --version       Output version information and exit.
    
  • 相关阅读:
    为什么 PCB 生产时推荐出 Gerber 给工厂?
    Fedora Redhat Centos 有什么区别和关系?
    【KiCad】 如何给元件给元件的管脚加上划线?
    MCU ADC 进入 PD 模式后出现错误的值?
    FastAdmin 生产环境升级注意
    EMC EMI 自行评估记录
    如何让你的 KiCad 在缩放时不眩晕?
    KiCad 5.1.0 正式版终于发布
    一次单片机 SFR 页引发的“事故”
    java基础之集合
  • 原文地址:https://www.cnblogs.com/cbugs/p/9676070.html
Copyright © 2011-2022 走看看