性能容量关键指标:

每秒tps,峰值tps

基础数据量,日均增长数据量

最大连接数

内存分配

IOPS

重点关注指标:

业务指标:

每秒并发用户请求、每秒订单数、用户请求响应时长

折算成性能指标:

qps、tps、rt

提出测试预期目标:

根据性能指标制定测试方案

测试结果尽可能以这些指标来表达

业务预期指标解读

读写比例:读多写少、读少写多、读写相当、统计为主、纯写入为主

存盘模式(数据可靠性要求):实时、异步、不关注

用户端的语言、字符编码(latin1、utf8、utf8mb4)

数据恢复实时性要求

日新增数据量

数据库连接方式

历史数据归档方式

业务平均、峰值指标

业务目标评估要点

服务器配置

存储引擎选择

数据库高可用方案

数据可用性方案

数据库备份方案

相应优化方案:

CPU,更换更好、更多核心的CPU

I/O,更换IOPS性能更高的设备,例如SSD,PCIE SSD

内存,增加内存,合理分配

MySQL,升级版本

选择InnoDB引擎,并且设计合适的表结构,避免锁竞争

建立性能基线

某个运行时刻的状态记录、快照

中位线 or 均线

用于和未来的状态进行对比

未来时刻产生关键事件后的新状态,作为下一个基线

https://github.com/zhishutech/mysqldba/tree/master/mysql-snapshot

系统性能指标:

CPU、内存、I/O

MySQL性能指标:

tps、qps、DMLs、响应时长、内存利用率、锁等待

业务指标

每秒业务量、每次交易时长

采集工具:

top、free、vmstat、sar、iostat、dstat、nmon、oradba.pl等

CPU:%user、%idle、%sys、%iowait

%user (<10%)、%idle (>80%)、%sys (<5%)、%iowait (<10%)

IO:tps/iops、await、svctm、%util

tps/iops (越大越好)、await (<5~10)、svctm (<5)、%util (<50%)

内存:free (free、buffers、cached)、used,以及swap

used非常高,但cached非常低,要引起关注了,可能发生内存泄漏

MySQL

tps越大越好、rt越小越好、lock越少越好、hit ratio越高越好、waits越少越好

table_locks_wait,innodb_log_waits,innodb_buffer_pool_wait_free大于0说明负载很大

压力测试

基准压力测试目的:

采购新设备,评估新设备性能

开发新项目,评估数据库容量

新系统上线前,预估/模拟数据库负载

更换数据库版本,评估性能变化

设计测试模型要点:

明确测试的核心目标、诉求

排除干扰,专注测试目的

确定测试环境

确定测试过程中的衡量和变量

保证测试结果的可重复性

设计压测模型注意事项:

只在本地加压

压测数据量小

压测时间过短

压测模式太少

压力负载过大或过小

每轮测试完毕要净化环境

MySQL数据预热:

5.6以前,执行一次mysqldump,或全量select

5.6以后,buffer bool dump & restore

常用压测工具介绍:

tpcc-mysql、sysbench、fio

测试方法,结果解读:

MySQL压力测试基准值

测试结果模板

测试报告编写

压测client、server分开

压测数据量、时长、并发量过大过小都不合适

压测结果除了TPS/TPmC,也要关注性能数据

利用压测发现性能瓶颈因素

系统性能瓶颈大概率发生在磁盘I/O层

相应的优化措施,大多数靠加索引

MySQL容量规划和性能测试的更多相关文章

  1. 二 mysql容量规划,性能测试

    何为基线- 当前运行状态记录.快照- 用于和未来的状态进行对比- 未来时刻产生关键事件后的新状态,作为下一个基线基线数据收集,关注哪些要点- 系统负载- MySQL运行状态- 相应的业务指标1.系统& ...

  2. MySQL容量规划之tcpcopy应用之道

    官方文档:https://github.com/session-replay-tools/mysql-replay-module tcpcopy可以将正式环境上来自客户端的请求复制一份到测试端并复现, ...

  3. MongoDB的容量规划及硬件配置

    mongo是基于内存的数据库,应尽量将工作集中的数据全部加载到内存中,即内存应大于工作集 本文译自Chad Tindel的英文博客: http://www.mongodb.com/blog/post/ ...

  4. MySQL/MariaDB数据库的性能测试

      MySQL/MariaDB数据库的性能测试 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据库服务衡量指标 qps: query per second(每秒支持多少查询 ...

  5. web容量规划

    容量和性能   容量规划是基于当前性能判断系统需要什么及什么时候需要,它既是资本支出合理化证明过程也是一个技术变更;   性能调优是优化已存在的系统性能;   一般服务的升级步骤是:性能调优 -> ...

  6. 新上线MySQL数据库规划

    新上线MySQL数据库规划1.删除test库2.删除root用户或者让root用户只可在本机登陆而对于有业务访问的数据库,在做删除root用户前需要依次确认 function.procedure.ev ...

  7. Hbase集群类型|集群配置|服务器选型|磁盘容量规划

    HBase和Hadoop的集群类型 1.单机模式 主要用于开发工作,一台机器上运行所有的守护进程,或者一台机器运行多个虚拟机.一般用于评估和测试. 2.小型集群 20台机器以内的集群,不同的机器运行不 ...

  8. Elasticsearch集群规模和容量规划的底层逻辑

    转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484628&idx=1&sn=666e416ae ...

  9. mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较

    最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7 ...

随机推荐

  1. Java 面向对象(十五)

    Lambda表达式 1. 函数式编程思想概述 在数学中,函数就是有输入量.输出量的一套计算方案,也就是"拿什么东西做什么事情".相对而言,面向对象过分强调"必须通过对象的 ...

  2. 在Ubuntu下安装VWMare tools

    之前随便解压在一个目录下一直不能安装,后来把压缩包解压到home目录下就可以了. 详细步骤:https://jingyan.baidu.com/article/597a0643356fdc312b52 ...

  3. 范仁义html+css课程---2、html常用标签

    范仁义html+css课程---2.html常用标签 一.总结 一句话总结: html常用的标签有 标题标签.div.span.p.hr.br标签 等 1.html中的标题标签有哪些? <h1& ...

  4. 表观 | Enhancer | ChIP-seq | 转录因子 | 数据库专题

    需要长期更新! 参考:生信修炼手册 enhancer的基本概念: 长度几十到几千bp,作用是提高靶基因活性,属于顺式作用原件,DNA作用到DNA,转录因子就是反式,是结合到DNA的蛋白. 1981年, ...

  5. hive分区表新增字段,已有分区显示为null

    如果在hive的分区表新增非分区字段,那么原有的分区的数据即使重新运行也会显示为null. 必须先删除该分区,再重新跑数据.

  6. Windows 操作系统 快捷键

    窗口放大缩小:  + ↑↓ 最小化窗口: ALT + Esc 关闭窗口: Alt + F4 搜索功能:  + 直接输入搜索内容 打开文件管理器:  + E 在文件管理器中切换: Tab

  7. 如何改为root用户 并挂载

    改为root用户才能挂载,使用的命令是sudo su,换成自己就su + 名字就好了,比如bnrc. 进入root之后,执行命令mount /dev/sdb/ /diskb/,即mount + 使用的 ...

  8. ActionBar 自定义布局定义

    ActionBar 自定义布局定义   Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar. 效果: 工具/原料 ...

  9. flutter 路由动画

    import 'package:flutter/material.dart'; import 'package:flutter_app/pages/FirstPage.dart'; void main ...

  10. Composer三步曲:安装、使用、发布

    转载地址:https://segmentfault.com/a/1190000011858458 原文是在我自己博客中,小伙伴也可以点阅读原文进行跳转查看,还有好听的背景音乐噢~ 在现代化的PHP开发 ...