高性能MySQL–操作系统和硬件优化

  •   
  • 4125
  • MySQL
  • 0
  • super_dodo
  • 2017/03/03

许多不同的硬件都可以影响MySQL的性能,但我们认为最常见的两个瓶颈是CPU和I/O资源。当数据可以放在内存中或者可以从磁盘中以足够快的速度读取时,CPU可能出现瓶颈。另一方I/O瓶颈一般发生在工作所需的数据远远超过有效内存容量的时候。如果有大量的查询和低延迟的要求,瓶颈可能转移到网络上,而不再是磁盘IO。

调优服务器可能有如下两个目标:低延时(快速响应),高吞吐。

顺序IO比随机IO速度快,无论是在内存还是在磁盘上,顺序比随机读快5000倍或几个数量级的差距。

备库硬件主要考虑成本,通常要跟主库差不多。在实践中,似乎大多数人都会选择以下策略,主备使用相同的硬件,或为主库购买新的硬件,然后备库使用主库淘汰的老硬件。

存储引擎通常吧数据和索引都保存再一个大文件中,这意味着用RAID(Redundant Array of Inexpensive Disks 磁盘冗余阵列)存储大量数据通常是最可行的方法。

运行不正常的网络通常也是主要的性能瓶颈之一。丢包是一个普遍存在的问题,即使1%的丢包率也足以造成显著的性能下降。域名解析系统DNS称为“阿基里斯之踵”,因此在生产服务器上启用skip_name_resolve是个好主意。

MySQL每一个连接使用一个线程,另外还有内部线程、特殊用途的线程,以及所有存储引擎创建的线程。无论哪种方式,MySQL都需要大量的线程才能有效地工作。MySQL趋势需要内核级线程的支持,而不止用户级线程,这样才能更有效的使用多个CPU。

MySQL需要的四种基本资源是:CPU、内存、磁盘以及网络资源。

爱情的力量有多大?可上九天揽月,可下五洋捉鳖。

高性能MySQL--MySQL架构与历史

高性能MySQL--MySQL基准测试

高性能MySQL--服务器性能剖析

高性能MySQL--Schema与数据类型优化

高性能MySQL--创建高性能的索引

高性能MySQL--查询性能优化

高性能MySQL--MySQL高级特性

高性能MySQL--优化服务器设置

高性能MySQL--操作系统和硬件优化

高性能MySQL--复制

高性能MySQL--可扩展的MySQL

高性能MySQL--高可用性

高性能MySQL--云端的MySQL

高性能MySQL--应用层优化

高性能MySQL--备份与恢复

高性能MySQL--MySQL用户工具