mysqlslap执行基准测试的代码详情介绍
查看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'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)!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

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

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

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

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

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

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

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

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