首页 文章 精选 留言 我的

精选列表

搜索[云压测],共10004篇文章
优秀的个人博客,低调大师

作为DBA,你不得不掌握的压测工具

mysqlslap mysqlslap是MySQL自带的一个用于实现负载性能测试和压力测试的工具。它可以模拟多个客户端对数据库进行施压,并生成报告来了解数据库的性能状况。 mysqlslap的运行过程主要分三步: 创建库、表,导入数据用于测试。此过程由单线程完成。 开始进行压力测试。该步骤可以使用多线程完成。 清理测试数据。此过程由单线程完成。 下面举几个例子来说明下如何使用mysqlslap。 1. 自动生成测试表,其中会生成自增列,采用单线程进行测试。 [root@node1 ~]# mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrementEnter password:Benchmark#运行所有语句的平局时间,单位秒Average number of seconds to run all queries: 0.018 seconds#运行所有语句的最小秒数Minimum number of seconds to run all queries: 0.018 seconds#运行所有语句的最大秒数Maximum number of seconds to run all queries: 0.018 seconds#客户端数量Number of clients running queries: 1#每个客户端运行查询的平均数Average number of queries per client: 0 参数解释: --auto-generate-sql:自动生成测试表和数据,mysqlslap工具自己生成sql脚本进行测试。 --auto-generate-sql-load-type:指定测试语句的类型。取值包括:read,key,write,update和mixed(默认)。 --auto-generate-sql-add-autoincrement:生成的表中会添加自增列。 2.指定客户端的数量以及总的查询次数 mysqlslap -uroot -p --auto-generate-sql --auto-generate-sql-load-type=mixed --concurrency=100 --number-of-queries=1000 --concurrency=100:指定同时有100个客户端连接--number-of-queries=1000:指定总的测试查询次数,该值除以concurrency的值就是每个客户端执行的查询次数。 3.自定义表结构以及SQL语句,指定50个客户端,运行测试200次 mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200 --iterations: 代表要运行测试多少次。 4. 使用参数指定列的数量和类型,比如int类型的字段两列,varchar类型的字段3列。 mysqlslap -uroot -p --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql 5. 从指定文件中加载create、insert、和select语句,当文件中有多条语句时用”;”隔开。 mysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";" sysbench sysbench是一款非常强大的数据库测试工具,它可以执行多种类型的基准测试,目前主要支持MySQL、PostgreSQL、Oracle这3种数据库。 它可以从https://github.com/akopytov/sysbench下载源码包。 安装 cd sysbench-0.5./autogen.sh./configure --prefix=/usr/local/sysbench --build=x86_64make && make installcp /usr/local/sysbench/bin/sysbench /usr/bin/验证sysbench安装是否成功。[root@node1 ~]# sysbench --versionsysbench 0.5 针对CPU的基准测试 测试计算素数直到某个最大值所需要的时间。 [root@node1 ~]# sysbench --test=cpu --cpu-max-prime=2000 runsysbench 0.5: multi-threaded system evaluation benchmarkRunning the test with following options:Number of threads: 1Random number generator seed is 0 and will be ignored…………………………General statistics:total time: 1.1302s……………………………. 针对内存的基准测试 sysbench --test=memory --memory-block-size=8k --memory-total-size=100G run 针对文件IO的基准测试 1. 首先生成测试文件:随机写128个文件,共计2G sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw prepare 2.随机读取测试⽂件,查看耗费的时间 sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw run 其中--file-test-mode的选项如下: seqwr:顺序写入 seqrewr:顺序重写 seqrd:顺序读取 rndrd:随机读取 rndwr:随机写入 rndrw:混合随机读写 3.测试完成,清理测试数据 sysbench --test=fileio --num-threads=20 --file-total-size=2G --file-test-mode=rndrw cleanup 针对OLTP的基准测试 1. 首先生成测试数据,下面生成一张数据量百万行记录的表。 sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root prepare 查询生成的测试数据: mysql> select count(*) from sbtest1;+----------+| count(*) |+----------+| 1000000 |+----------+ 2.进行读取验证,采用8个并发线程,开启只读模式 sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run 测试结果如下: OLTP test statistics: queries performed: read: 407498 write: 0 other: 58214 total: 465712 transactions: 29107 (485.07 per sec.) read/write requests: 407498 (6790.91 per sec.) other operations: 58214 (970.13 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.)General statistics: total time: 60.0064s total number of events: 29107 total time taken by event execution: 479.9865s response time: min: 1.55ms avg: 16.49ms max: 539.30ms approx. 95 percentile: 25.98msThreads fairness: events (avg/stddev): 3638.3750/42.84 execution time (avg/stddev): 59.9983/0.00 其中transactions代表了测试结果的主要评判标准,即TPS,上述测试结果中的tps是485.7,response time中展示了响应时间的统计信息,展示了最小、最大、平均响应时间,以及95%百分比的响应时间。 3.清理测试数据 sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=root cleanup 本文分享自微信公众号 - MySQL数据库技术栈(Mysqltechnology)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册