一:系统安装规范
1.关闭CPU节能,设定最大性能模式。
2.关闭NUMA(主要是为了避免swap)、C-states、C1E。
3.阵列卡策略使用FORCE WB,关闭预读。
4.机械盘时,所有盘组成RAID 10阵列。
5.SSD盘可以只有两块组成RAID 1或者三块做RAID 5 。
6.xfs + deadline/noop。
7.vm.swappiness <=10。
8.vm.dirty_ratio <=5。
9.vm.dirty_backgroud_ratio <=10 。
二:MySQL安装规范
1.basedir、datadir、backupdir、binlogidr。
2.innodb_flush_log_at_trx_commit & sync_binlog =1 。
3.innodb_file_per_table =1 。
4.innodb_data_file_path,设置ibdata1至少1GB以上。
5.long_query_time <=0.5。
6.lower_case_table_names =0。
附录:一些参数的解释
vm.overcommit_memory = 1
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
vm.dirty_background_ratio:这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存;
vm.dirty_ratio:而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。