Home Database Mysql Tutorial mysql性能测试工具之mysqlslap

mysql性能测试工具之mysqlslap

Jun 07, 2016 pm 04:48 PM
mysql

mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提

    mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.msqlslap为mysql性能优化前后提供了直观的验证依据,建议系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题.

  • 工具详细参数

  • --help      显示帮助

    --concurrency      代表并发数量,多个可以用逗号隔开

    --engines             测试的引擎,多个用分隔符隔开

    --iterations           运行这些测试多少次

    --auto-generate-sql      系统自己生成的SQL脚本来测试

    --auto-generate-sql-load-type     测试的是读还是写还是两者混合的(read,write,update,mixed)

    --number-of-queries                   总共要运行多少次查询

    --debug-info                               额外输出CPU以及内存的相关信息

    --number-int-cols                       创建测试表的 int 型字段数量

    --auto-generate-sql-add-autoincrement        生成的表自动添加auto_increment列

    --number-char-cols                  测试表的 char 型字段数量

    --create-schema               测试的database

    --query                          用自定义脚本执行测试

    --only-print                            如果只想打印看看SQL语句是什么,以用这个选项

     

    2.测试实例(单个并发)

    [root@node2 bin]# ./mysqlslap -uroot -psystem --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=myisam --number-of-queries=10 --debug-info
    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.209 seconds
     Minimum number of seconds to run all queries: 0.209 seconds
     Maximum number of seconds to run all queries: 0.209 seconds
     Number of clients running queries: 100
     Average number of queries per client: 0


    User time 0.02, System time 0.09
    Maximum resident set size 4684, Integral resident set size 0
    Non-physical pagefaults 1476, Physical pagefaults 0, Swaps 0
    Blocks in 0 out 0, Messages in 0 out 0, Signals 0
    Voluntary context switches 2797, Involuntary context switches 25
    [root@node2 bin]#

    说明:测试100个并发线程,测试次数1次,自动生成SQL测试脚本,读,写,更新混合测试,自增长字段,测试引擎为myisam,共运行10次查询,输出cpu资源信息

     

    3.测试实例(多个并发)

    [root@node2 bin]# ./mysqlslap --concurrency=50,100,200 --iterations=20 --number-int-cols=4 --number-char-cols=35 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=read --engine=myisam,innodb --number-of-queries=200 --verbose --socket=/tmp/mysql.sock -uroot -psystem
    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.758 seconds
     Minimum number of seconds to run all queries: 0.671 seconds
     Maximum number of seconds to run all queries: 0.870 seconds
     Number of clients running queries: 50
     Average number of queries per client: 4

    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.840 seconds
     Minimum number of seconds to run all queries: 0.645 seconds
     Maximum number of seconds to run all queries: 1.117 seconds
     Number of clients running queries: 100
     Average number of queries per client: 2

    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.959 seconds
     Minimum number of seconds to run all queries: 0.802 seconds
     Maximum number of seconds to run all queries: 1.192 seconds
     Number of clients running queries: 200
     Average number of queries per client: 1

    Benchmark
     Running for engine innodb
     Average number of seconds to run all queries: 0.701 seconds
     Minimum number of seconds to run all queries: 0.632 seconds
     Maximum number of seconds to run all queries: 0.778 seconds
     Number of clients running queries: 50
     Average number of queries per client: 4

    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Best Graphic Settings
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. How to Fix Audio if You Can't Hear Anyone
    3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: How To Unlock Everything In MyRise
    4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

    In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

    MySQL: The Ease of Data Management for Beginners MySQL: The Ease of Data Management for Beginners Apr 09, 2025 am 12:07 AM

    MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

    Can I retrieve the database password in Navicat? Can I retrieve the database password in Navicat? Apr 08, 2025 pm 09:51 PM

    Navicat itself does not store the database password, and can only retrieve the encrypted password. Solution: 1. Check the password manager; 2. Check Navicat's "Remember Password" function; 3. Reset the database password; 4. Contact the database administrator.

    Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Apr 08, 2025 pm 07:12 PM

    1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

    How to create navicat premium How to create navicat premium Apr 09, 2025 am 07:09 AM

    Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

    How to copy tables in mysql How to copy tables in mysql Apr 08, 2025 pm 07:24 PM

    Copying a table in MySQL requires creating new tables, inserting data, setting foreign keys, copying indexes, triggers, stored procedures, and functions. The specific steps include: creating a new table with the same structure. Insert data from the original table into a new table. Set the same foreign key constraint (if the original table has one). Create the same index. Create the same trigger (if the original table has one). Create the same stored procedure or function (if the original table is used).

    How to view database password in Navicat for MariaDB? How to view database password in Navicat for MariaDB? Apr 08, 2025 pm 09:18 PM

    Navicat for MariaDB cannot view the database password directly because the password is stored in encrypted form. To ensure the database security, there are three ways to reset your password: reset your password through Navicat and set a complex password. View the configuration file (not recommended, high risk). Use system command line tools (not recommended, you need to be proficient in command line tools).

    How to view mysql How to view mysql Apr 08, 2025 pm 07:21 PM

    View the MySQL database with the following command: Connect to the server: mysql -u Username -p Password Run SHOW DATABASES; Command to get all existing databases Select database: USE database name; View table: SHOW TABLES; View table structure: DESCRIBE table name; View data: SELECT * FROM table name;

    See all articles