影响数据库因素:

1 sql查询速度

2 服务器硬件

3 网卡流量

4 磁盘IO

提升mysql服务器性能(一影响因素与存储解决方案)_数据库

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_02

连接数满就会产生500服务器错误

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_03

 

大表和大事务也会带来性能问题

 

大表(超过千万行或者表数据文件超过10G)

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_04

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_05

480S以上的延迟

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_06

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_07

 

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_08

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_09

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_10

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_11

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_12

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_13

比如 转账前后的总余额数不变;

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_14

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_15

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_16

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_17

已提交读也叫不可重复读

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_18

 

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_19

第一个链接中

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_20

 

第二个链接

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_21

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_22

返回第一个链接

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_23

发现并没有查到之前第二个链接的插入;

现在更改事务的隔离级别;首先commit;  终止掉查询

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_24

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_25

链接1中

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_26

然后连接2在插入一个数字  

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_27

链接1还没有commit,就已经可以查询到了;

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_28

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_29

很少使用可串行化的隔离级别

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_30

innodb默认是可重复读

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_31

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_32

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_33

如果遇到问题回滚后遇到的时间会更长。

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_34

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_35

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_36

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_37

 

影响性能的因素

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_38

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_39

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_40

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_41

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_42

 

升级IO子系统

目前

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_43

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_44

还要考虑mysql版本

5.6  5.7支持多核

容易出现的问题

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_45

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_46

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_47

 

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_48

磁盘IO分类

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_49

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_50

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_51

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_52

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_53

写入速度也是N倍  N为几块磁盘

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_54

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_55

成本高   利用率50%  适合存放日志

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_56

 

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_57

写需要 两次读写  但是读取很快  适合读为主的数据业务    可以用在从服务器上,但是出问题后会出现主从延迟

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_58

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_59

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_60

 

固态存储(闪存)

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_61

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_62

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_63

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_64

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_65

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_66

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_67

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_68

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_69

PCI-E 会占用服务器内存,不适合使用RAID

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_70

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_71

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_72

 

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_73

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_74

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_75

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_76

不适合数据库存储  因为是随机存储  只适合顺序存储。

 

提升mysql服务器性能(一影响因素与存储解决方案)_服务器_77

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_78

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_79

 

 

 

总结

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_80

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_81

提升mysql服务器性能(一影响因素与存储解决方案)_数据库_82

 

提升mysql服务器性能(一影响因素与存储解决方案)_隔离级别_83