首页 数据库 mysql教程 mysqlslap执行基准测试的代码详情介绍

mysqlslap执行基准测试的代码详情介绍

Mar 04, 2017 pm 02:43 PM

查看mysqlslap所支持的主要参数配置及说明如下


<span style="color: #000000">-a, --auto-generate-sql 由系统自动生成SQL脚本进行测试<br/>                      Generate SQL where not supplied by file or command line.<br/>  --auto-generate-sql-add-autoincrement 生成的表中增加自增的ID<br/>                      Add an AUTO_INCREMENT column to auto-generated tables.--auto-generate-sql-load-type=name 制定测试过程中使用的查询类型<br/>                      Specify test load type: mixed, update, write, key, or<br/>                      read; default is mixed.--auto-generate-sql-write-number=# 制定所生成的初始化数据的条数<br/>                      Number of row inserts to perform for each thread (default<br/>                      is 100).-c, --concurrency=name 制定并发线程的数量<br/>                      Number of clients to simulate for query to run.<br/>  --create=name       File or string to use create tables.<br/>  --create-schema=name 创建一个测试数据库的schema名称<br/>                      Schema to run tests in.-T, --debug-info    This is a non-debug version. Catch this and exit.指定输出额外的内存及CPU统计信息-e,<br/>                       --engine=name   Storage engine to use for creating the table. 指定所测试的存储引擎,用逗号可以分割以便测试多个引擎<br/>  -h, --host=name     Connect to host. 链接远程主机的IP<br/>  -i, --iterations=#  Number of times to run the tests. 指定本次测试需要运行的次数<br/>  --no-drop           Do not drop the schema after the test. 指定测试完成后,不清理过程数据<br/>  -x, --number-char-cols=name 指定测试表中生成的varchar类型的数据数量<br/>                      Number of VARCHAR columns to create in table if<br/>                      specifying --auto-generate-sql.<br/>  -y, --number-int-cols=name 指定测试表中生成的int类型的数据数量<br/>                      Number of INT columns to create in table if specifying<br/>                      --auto-generate-sql.<br/>  --number-of-queries=# 指定每一个线程所执行的查询数量<br/>                      Limit each client to this number of queries (this is not<br/>                      exact).<br/>  --only-print        Do not connect to the databases, but instead print out 并不运行测试脚本,而是把生成的脚本打印出来<br/>                      what would have been done.<br/>  -p, --password[=name] 指定测试所用的链接数据库的密码<br/>                      Password to use when connecting to server. If password is<br/>                      not given it&#39;s asked from the tty.-q, --query=name    Query to run or file containing query to run.自定义测试用的sql<br/>  -u, --user=name     User for login if not current user. 指定测试所用的链接数据库的用户名<br/></span>
登录后复制


其中,完整的运行脚本如下

mysqlslap -S /tmp/mysql3306.sock --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 
--auto-generate-sql --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=10
 --create-schema=test -uroot -p
登录后复制

待输入密码后,测试信息如下

Enter password: 
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.097 seconds
        Minimum number of seconds to run all queries: 0.093 seconds
        Maximum number of seconds to run all queries: 0.107 seconds
        Number of clients running queries: 1
        Average number of queries per client: 10Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.506 seconds
        Minimum number of seconds to run all queries: 0.447 seconds
        Maximum number of seconds to run all queries: 0.570 seconds
        Number of clients running queries: 50
        Average number of queries per client: 0Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 2.204 seconds
        Minimum number of seconds to run all queries: 1.595 seconds
        Maximum number of seconds to run all queries: 3.257 seconds
        Number of clients running queries: 100
        Average number of queries per client: 0mysqlslap: Error when connecting to server: 1040 Too many connections
mysqlslap: Error when connecting to server: 1040 Too many connections
mysqlslap: Error when connecting to server: 1040 Too many connections
mysqlslap: Error when connecting to server: 1040 Too many connections
登录后复制

此时可以看出来,当并发达到了200的时候,出现了Too many connections的异常,这是因为mysql默认配置的最大链接数为100,故需要对my.cnf做如下的修改

添加max_connections=1024,之后运行正常

Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.093 seconds
        Minimum number of seconds to run all queries: 0.087 seconds
        Maximum number of seconds to run all queries: 0.098 seconds
        Number of clients running queries: 1
        Average number of queries per client: 10Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.514 seconds
        Minimum number of seconds to run all queries: 0.462 seconds
        Maximum number of seconds to run all queries: 0.545 seconds
        Number of clients running queries: 50
        Average number of queries per client: 0Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 1.209 seconds
        Minimum number of seconds to run all queries: 1.173 seconds
        Maximum number of seconds to run all queries: 1.241 seconds
        Number of clients running queries: 100
        Average number of queries per client: 0Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 2.174 seconds
        Minimum number of seconds to run all queries: 1.978 seconds
        Maximum number of seconds to run all queries: 2.402 seconds
        Number of clients running queries: 200
        Average number of queries per client: 0
登录后复制

 以上就是mysqlslap执行基准测试的代码详情介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

iPad Air 5 基准测试显示与 11 英寸 iPad Pro 相同的性能 iPad Air 5 基准测试显示与 11 英寸 iPad Pro 相同的性能 May 18, 2023 am 10:34 AM

正如预期的那样,由于两款设备都使用了M1处理器,早期的基准测试显示iPadAir5的得分与11英寸iPadPro相同。审阅者通过Geekbench运行iPadAir5,得分并不令人惊讶。事实上,这些数字的不同之处仅在于舍入误差和每次运行的变化。iPadAir5在Geekbench中被列为“iPad13,17”,在一次CPU测试中显示了1711的单核成绩和7233的多核成绩。这与11英寸iPadPro类似,单核成绩为1718,多核成绩为7313。在

LLM超长上下文查询-性能评估实战 LLM超长上下文查询-性能评估实战 Apr 03, 2024 am 11:55 AM

在大型语言模型(LLM)的应用中,有几个场景需要以结构化的方式呈现数据,其中信息提取和查询分析是两个典型的例子。我们最近通过更新的文档和一个专门的代码仓库强调了信息提取的重要性。对于查询分析,我们同样更新了相关文档。在这些场景中,数据字段可能包括字符串、布尔值、整数等多种类型。而在这些类型中,处理高基数的分类值(即枚举类型)是最具挑战性的。图片所谓的“高基数分组值”,指的是那些必须从有限的选项中选择的值,这些值不能随意指定,而必须来自一个预定义的集合。在这种集合中,有时会存在有效值数量非常庞大的

苹果的骁龙8 Gen 3与A17 Pro:两者都有光线追踪,但哪一个更好? 苹果的骁龙8 Gen 3与A17 Pro:两者都有光线追踪,但哪一个更好? Oct 25, 2023 am 11:17 AM

还在为高通即将推出的骁龙8Gen3独家报道而嗡嗡作响吗?好吧,这里是Snapdragon8Gen3与A17Pro的比较:两种强大的芯片都有光线追踪支持,但哪一个最能满足您的需求?苹果感到自豪的是,其最新芯片一旦移植到iOS上,就可以支撑《生化危机2》重制版和《生化危机7》等游戏,但高通的新AI奇迹也确实有其非常自己的光线追踪支持。“先进的摄像头和音频技术可实现清晰的视频和水晶般清晰的音频。强大的AI加速体验和企业级安全性使现代移动PC成为可能,“该公司在今天的Snapdragon峰会活动之前的官

Go函数性能优化:基准测试与性能分析方法 Go函数性能优化:基准测试与性能分析方法 May 03, 2024 pm 06:42 PM

了解Go函数性能优化至关重要,可以通过以下方法实现:基准测试:使用Go的testing包测量执行时间和资源消耗,例如基准测试字符串连接策略。性能分析:使用runtime/pprof包生成函数调用图,通过gotoolpprof分析pprof.out文件,深入了解性能瓶颈。进一步优化:根据性能分析结果,减少不必要的函数调用,避免创建不必要的变量,使用合适的数据结构,充分利用并发性,从而提升应用程序性能。

3DMark Steal Nomad 显卡基准测试暂缓推出,以实现更公平跨平台对比 3DMark Steal Nomad 显卡基准测试暂缓推出,以实现更公平跨平台对比 Apr 02, 2024 am 08:58 AM

根据3DMark开发者在Steam讨论区的回复,最新款显卡基准测试StealNomad和其轻量级版本SteelNomadLight即将推出,以实现更公平的跨平台对比。▲SteelNomad画面截图。图源ULSolutions3DMark是一个广泛使用的基准测试软件,ULSolutions在去年11月发布了StealNomad。该测试旨在在代表2016年推出的多个平台上提供通用的非光线追踪基准测试。其中TimeSpy是一项非常重要的测试,为许多平台提供了通用性能基线测试。不同于局限在DirectX

Go语言中的基准测试和性能比较 Go语言中的基准测试和性能比较 May 08, 2024 am 09:27 AM

在Go语言中,通过使用testing包中的BenchmarkXXX函数,可以轻松编写基准测试来衡量代码性能。这些函数遵循标准语法,并接收*testing.B类型的指针作为参数,用于控制基准测试的运行。运行基准测试(gotest-bench=BenchmarkName),可以输出结果表格,显示各种信息,如每个操作所花费的纳秒数、每秒执行的操作数、测试中运行的迭代次数和每秒传递的内存量等。通过比较不同的基准测试结果,可以找出效率低下的代码区域,从而改进应用程序的整体性能。

Go语言中的并发编程的基准测试和性能分析 Go语言中的并发编程的基准测试和性能分析 Jun 01, 2023 am 08:18 AM

随着计算机硬件技术的不断提升,单核CPU已经不能满足计算机的性能需求。因此,如何充分利用多核CPU的性能成为了计算机科学领域中一个重要的问题。并发编程正是为了利用多核CPU的性能,提高计算机程序的效率和响应速度。Go语言作为一门高效的并发编程语言,其默认的并发模型被广为接受。然而,在实际开发中,我们需要对程序的并发性能进行评估和测试,以便找出潜在的性能瓶颈

如何使用 Go 语言中的管道对管道进行基准测试? 如何使用 Go 语言中的管道对管道进行基准测试? Jun 04, 2024 pm 04:40 PM

要对管道进行基准测试,可使用Go语言pipeline包中的benchmark包:创建一个管道,并包含数据读取、数据处理和数据输出步骤。将benchmark.Run传递给管道以对管道进行基准测试。管道基准测试提供了对管道吞吐量和延迟的洞察,有助于优化其性能。

See all articles