什么限制了MySQL的性能
cup耗尽,IO饱和,内存耗尽
如何为MySQL选择cpu
需要两个标准,低延时,⾼吞吐量。
平衡内存和磁盘资源
为了平衡内存的速度和磁盘io的速度,需要配置⼤内存。
缓存、读取写⼊
只要内存⾜够,可以避免查询磁盘,通过缓存就可以读取数据。
多次写操作,⼀次刷新
写操作是⽐较耗时的,数据被多次修改⼀次写⼊可以⼤⼤节省时间。
⼯作集
不需要把所有数据放⼊内存提⾼效率,只需要所必须的放⼊即可。
固态存储
使⽤RAID⽅式进⾏存储,RAID表示各种不同的磁盘存储数据的⽅案。
⽹络配置
⽹络不正常导致丢包,DNS解析慢等。这些都是导致系统慢的原因。
选择⽂件系统
哪个⽂件系统对innodb最好,最好选择⽇志型⽂件系统
ext4,XFS、ZFS。否则,系统崩溃后,检查⽂件系统需要很⻓时间。
选择磁盘队列调度器
CFQ(默认完全公平队列)、deadline适⽤于控制器和直接连接的磁盘。
内存和交换
MySQL使⽤内存作为缓存,当操作系统因为没有⾜够的物理内存容纳虚拟内存⽽讲虚拟内存写⼊磁盘,就会导致交换的发⽣。虚拟内存不⾜可能导致MySQL进程终⽌,即使没有耗尽内存⾼频的交换也会导致整个操作系统⽆响应。可以主动调整OOMkiller分值,防⽌进程被⾸选终⽌。
操作系统状态
使⽤vmstat、iostat⼯具查看系统正在做什么。⽐如⽹络,
netstat等。