Jmeter小助手:__counter __Random __UUID __CSVRead
性能指标:CPU 内存 磁盘 网络 版本(系统版本)
linux命令:
top 能够试试监控系统的运行状态。
-h 帮助
-p 监控指定的进程
top任务区命令
M:按内存使用率排序
P:按CPU使用率排序
top中的load average:系统的运行对了的评价利用率
vmstat:
-s 使用指定单位显示。
free:实时监控内存的状态
nmone监控工具
数据驱动的概念
数据库性能测试范围:
sql语句-慢查询等
资源使用率
数据库架构合理性
数据库性能指标
数据库常用架构:
一主多从(优点:读写分离,分担了单台服务器的压力,缺点:主从延时);
双机热备(读写都在一台服务器上,避免了主从延时 KeepAlived ,当master挂掉时,虚拟ip会指向slave,不影响用户使用,缺点:当slave第二台服务器也挂掉时,就没有库了, 当master挂掉时,往slave中写的数据在master上没有,只能手动再备); 适用于写入操作比较多的场景;
数据库分库分表原理:
1,单表、单库数据量太大
2,硬件不能升级或无法升级
分库分表方案:
1,业务拆分:用户、商品、订单等
2,垂直拆分:商品分为母婴商品、床上用品、电子商品等
3,水平拆分-一致性哈希算法:例如 userid%3==1 userid%3==2 userid%3==3
Mysql性能测试:
重点监控指标:
QPS:每秒种查询数量
TPS:没秒钟事务数
线程连接池:
最大连接数:
Query Cache:
查询缓存用户缓存select查询结果;
设置:修改my.cnf将query_cache_size设置为具体的大小,最好设置为1024的倍数。
query_cache_type =0/1/2
为1缓存所有结果
为2缓存指定查询
锁定状态:Table_locks_waited/Tabel_locks_immediate值越大代表表锁造成的阻塞越严重。
主从延时:show slave status 查询中从延时时间
MySql慢查询:
指的就是比较慢的查询
Sql语句性能分析:explain sql语句
MySql索引:
主键索引:特殊的唯一索引,不允许有空值,一般在建表的时候同时创建
唯一索引:索引列的值必须唯一,但允许有空值
普通索引
全文索引
组合索引
Mysql索引创建规范:
索引可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间,在插入与更新数据时,要重写索引文件
1,单张表中索引数量不超过5个
2,单个索引中的字段数不超过5个
3,不使用更新频繁的列作为主键
4,合理创建组合索引(避免冗余)
5,不在低基数列上建立索引,例如‘性别’
6,不在索引列进行数学昀珊和函数运算,会使索引失效
7,不使用%前导的查询,例如like “%xx” 无法使用索引
8,不使用反向查询,如not in/ not like,无法使用索引,导致全表扫描
9,选择越小的数据类型越好,处理起来越快
10,在经常需要排序、分组和distinct列上加索引
11,在表与表的链接条件上加上索引,可以加快链接查询的速度
12,使用短索引
Mysql存储引擎:
MyISAM
InnoDB
Mysql实时监控:
orzdba
下载脚本orzdba,是一个可运行文件,
命令行:./orzdba 启动