MySQL监控数据库
MySQL服务器硬件和OS(操做系统)调优:缓存
一、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 若是访问的文件在内存里,而不是在磁盘上,InnoDB会快不少。服务器
二、全力避免 Swap 操做 — 交换(swapping)是从磁盘读取数据,因此会很慢。app
三、使用电池供电的RAM(Battery-Backed RAM)。性能
四、使用一个高级磁盘阵列 — 最好是 RAID10 或者更高。优化
五、避免使用RAID5 — 和校验须要确保完整性,开销很高。操作系统
六、将你的操做系统和数据分开,不单单是逻辑上要分开,物理上也要分开 — 操做系统的读写开销会影响数据库的性能。日志
七、将临时文件和复制日志与数据文件分开 — 后台的写操做影响数据库从磁盘文件的读写操做。进程
八、更多的磁盘空间等于更高的速度。内存
九、磁盘速度越快越好。
十、SAS优于SATA。
十一、小磁盘的速度比大磁盘的更快,尤为是在 RAID 中。
十二、使用电池供电的缓存 RAID(Battery-Backed Cache RAID)控制器。
1三、避免使用软磁盘阵列。
14. 考虑使用固态IO卡(不是磁盘)来做为数据分区 — 几乎对全部量级数据,这种卡可以支持 2 GBps 的写操做。
1五、在 Linux 系统上,设置 swappiness 的值为0 — 没有理由在数据库服务器上缓存文件,这种方式在Web服务器或桌面应用中用的更多。
1六、尽量使用 noatime 和 nodirtime 来挂载文件系统 — 没有必要为每次访问来更新文件的修改时间。
1七、使用 XFS 文件系统 — 一个比ext3更快的、更小的文件系统,拥有更多的日志选项,同时,MySQL在ext3上存在双缓冲区的问题。
1八、优化你的 XFS 文件系统日志和缓冲区参数 – -为了获取最大的性能基准。
1九、在Linux系统中,使用 NOOP 或 DEADLINE IO 调度器 — CFQ 和 ANTICIPATORY 调度器已经被证实比 NOOP 和 DEADLINE 慢。
20、使用 64 位操做系统 — 有更多的内存能用于寻址和 MySQL 使用。
2一、将不用的包和后台程序从服务器上删除 — 减小资源占用。
2二、将使用 MySQL 的 host 和 MySQL自身的 host 都配置在一个 host 文件中 — 这样没有 DNS 查找。
2三、永远不要强制杀死一个MySQL进程 — 你将损坏数据库,并运行备份。
2四、让你的服务器只服务于MySQL — 后台处理程序和其余服务会占用数据库的 CPU 时间。