影响mysql性能的因素

1、硬件

内存:相同品牌、颗粒、频率、电压、效验技术和型号单条容量尽可能大。

硬盘:寻道,移动磁头到磁盘表面上的正确位置,传输 等待磁盘旋转,使得所需的数据移动到磁头的下方,等待磁盘旋转过去,所有所需数据都被磁头读出来。

磁盘阵列也会影响

 

 raid1

 

 raid 5

 

 

 

 

raid5的写性能慢,随机读性能快,数据失效需要重新进行数据分布生成奇偶校验嘛,主要是从库使用。

 

 

 

 

 

 固态存储硬盘和传统机械盘相比随机读写性能好很多,更好的支持并发。PCIE卡

 

 

ssd从库服务器,增加从库io性能,容易损坏主服务器使用不安全

网络存储数据库备份文件

 

2、操作系统配置参数

/etc/sysctl.conf

net.core.somaxconn = 65535

net.core.netdev_max_backlog = 65535

net.ipv4.tcp_max_syn_backlog  = 65535

net.ipv4.tcp_fin_timeout  = 10

net.ipv4.tcp_tw_reuse  = 1

net.ipv4.tcp_tw_recycle  = 1

net.core.wmem_default= 87380

net.core.wmem_max= 16777216

net.core.rmem_default= 87380

net.core.rmem_max = 16777216

net.ipv4.tcp_keepalive_time = 120

net.ipv4.tcp_keepalive_intvl  = 30

net.ipv4.tcp_keepalive_probes  = 3

kernel.shmmax = 4294967295 这个参数要足够大到能容纳下一个innodb缓存池大小

vm.swappiness =0

 

/etc/security/limit.conf

* soft nofile 65535

* hard nofile 65535

 磁盘调度策略

cat /sys/block/sda/queue/scheduler

noop anticipatory deadline [cfq]

noop 实现了一个fifo队列,像电梯一样,对io请求进行组织,一个新的请求来时,将请求合并到最近的请求之后,保证请求同一介质

饿死读有利于写,noop对于闪存设备,ram和嵌入式系统最好

anticipatory 与deadline本质一样,但在最后一次操作后要等6ms,才能对其他IO请求进行调度,它会在每个6ms中插入新的io操作,而会将一些小的写入流合并到一个大的io流中

,用写入延时换取最大的写入吞吐量,适合写入较多,文件服务器,作为数据库服务器调度策略很差。

文件系统

 

posted on 2019-11-11 20:00  清浊  阅读(585)  评论(0)    收藏  举报