PART Ⅰ : 容器云OPENSHIFT
- 安装
- 数据持久化
- 集群管理
- 数据持久化
- 管理
- 网络
- 安全审计
- 工具应用部署
PART Ⅱ:容器云 KUBERNETES
- 基础
- 原理
- 系统应用/网络CNI/TRaefik
- 安装
- 集群管理
- 用户认证ServiceAccount与授权策略RBAC
- K8S应用管理工具Helm
- 问题
- 辅助工具
- Doing:K8S 多集群管理与网络互联
- VM On K8S
PART Ⅲ:持续集成与持续部署
- CICD优化总结
- Jenkins
- Gitlab
- Drone
- Nexus
- 配置
- 使用OrientDB Console在DB层面修改配置
- [设置SMTP邮件服务](https://www.wenjiangs.com/doc/krrcu7ebin9hh
- 仓库管理
- 数据备份恢复
- API
- Jenkins相关插件
- 配置
- SonarQube静态代码扫描分析
- LDAP
- Apollo
- 项目管理工具
- Jira
- Redmine
- Harbor
- Vault
- Alfred
- Web IDE: VSCode
- DolphinScheduler
PART Ⅴ:日志/监控/告警
- Logging
- Kafka/Zookeeper
- Filebeat
- Metrics
- Tracing
- Sentry日志聚合告警平台
PART Ⅵ:基础
- Docker
- Shell脚本
- Mave
- git
- 正则表达式
- SSL/TLS
- Ceph
- 性能压力测试
- PXE+Kickstart
- netboot.xyz
- Tool
- Windows
- MacOS小技巧
- Linux
- Linux排错优化
- iptables详解
- MySQL
- Redis
- 负载均衡与代理
- 代理服务器
- Nginx
- GitBook
- Telegram机器人
- OpenVPN Server
- iDRAC
- vSphere
- Raspberry Pi树莓派
- 钉钉机器人
- Aliyun CLI
- 音、视频处理工具:fffmpeg
- 图片处理工具:Imagemagick
- PDF处理工具:Ghostscript
- Nvidia
- Virtualbox 虚拟机管理
- 阿里云产品使用总结
- RustDesk:可自建远程控制软件
- Poste:自建邮件服务器
- 使用 Jlink构建最小化依赖的 JRE 环境
- Aria2
- Asuswrt-Merlin
- Trap:Shell脚本信号跟踪
- 零散知识汇总
- BarkServer通知
- Synology
PART Ⅶ:数据存储、处理
PART VIII:CODE
- Python学习笔记
- 基础语法
- statik 将静态资源文件打包到二进制文件中
- HTML/CSS 学习笔记
- JavaScript学习笔记
PART X:HACKINTOSH
PART XI:安全
MySQL 性能测试之 sysbench
- TPS :Transactions Per Second ,即数据库每秒执行的事务数,以 commit 成功次数为准。
- QPS :Queries Per Second ,即数据库每秒执行的 SQL 数(含 insert、select、update、delete 等)。
- RT :Response Time ,响应时间。包括平均响应时间、最小响应时间、最大响应时间、每个响应时间的查询占比。比较需要重点关注的是,前 95-99% 的最大响应时间。因为它决定了大多数情况下的短板。
- Concurrency Threads :并发量,每秒可处理的查询请求的数量。
总结来说,实际就是 2 个维度:
- 吞吐量
- 延迟
mysqlslap
mysqlslap可以模拟服务器的负载,并输出计时信息。在MySQL 4.1或者更新的版本中都可以使用。测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中)。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句。
sysbench
sysbench是一款多线程系统压测工具。它可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、操作系统调度器、内存分配和传输速度、POSIX 线程,以及数据库服务器等。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、操作系统和硬件的硬件测试。
MySQL Benchmark Suite (sql-bench)
在MySQL 的发行包中也提供了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试。它是单线程的,主要用于测试服务器执行查询的速度。结果会显示哪种类型的操作在服务器上执行得更快。
这个测试套件的主要好处是包含了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试。其也可以用于高层次测试,比较两个服务器的总体性能。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)。这些测试大部分是CPU 密集型的,但也有些短时间的测试需要大量的磁盘I/O 操作。
这个套件的最大缺点主要有:它是单用户模式的,测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考.
Super Smack
Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。这是一个复杂而强大的工具,可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素。
等等
参考:sysbench 中的测试示例
mysqlslap是一个mysql官方提供的压力测试工具。以下是比较重要的参数:
- –defaults-file,配置文件存放位置
- –concurrency,并发数
- –engines,引擎
- –iterations,迭代的实验次数
- –socket,socket文件位置
自动测试:
- –auto-generate-sql,自动产生测试SQL
- –auto-generate-sql-load-type,测试SQL的类型。类型有mixed,update,write,key,read。
- –number-of-queries,执行的SQL总数量
- –number-int-cols,表内int列的数量
- –number-char-cols,表内char列的数量
- –create-schema,指定数据库名称
- –query,指定SQL语句,可以定位到某个包含SQL的文件
1、测试同时不同的存储引擎的性能进行对比
mysqlslap -uroot -p123456 \
-a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb
2、执行一次测试,分别50和100个并发,执行1000次总查询
mysqlslap -uroot -p123456 \
-a --concurrency=50,100 --number-of-queries 1000 6
3、50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次:
mysqlslap -uroot -p123456 \
-a --concurrency=50,100 --number-of-queries 1000 --iterations=5
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论