Mysql数据库服务器性能配置优化.docx
文本预览下载声明
Mysql数据库服务器性能配置优化?硬件配置及优化,RAID优化近期公司采购了新的DB服务器,结合以前的一些经验再研究了一下Mysql的各种优化点,从硬件选择到Raid,从更换InnoDB引擎再到f。大部分的优化点国内没有什么文章提及(?里很多有价值的信息,对于喜欢研究Mysql的朋友再强烈推荐一把)。这里把一些关键点和优化过程写下来,有需要的朋友可以参考一下。(转贴请注明出处)?1、硬件选择:?DELL R710,E5620 @2.40GHz(4 core)?* 2?,24G RAM,Intel X25-M G2 34nm?SSD * 4 (RAID 10)?数据库对服务器的CPU,内存,IO都有比较高的要求。CPU就不用多说了,主流的4核×2。内存如果有条件尽量大一些,现在也不太贵(有测试表明在某种应用情况下,innodb_buffer_pool_size设置到一定大小时,无论是FusionIO,普通SSD还是SAS硬盘的TPS都差不多了,后面的文章会提到)。?IO方面,最开始我是准备用传统的4块SAS 15K 146G做RAID10的,常见的一种选择,比较保险,性能也还不错。后来看了不少SSD相关的文章(感谢cyberty的帮助),性能诱惑确实太大了。于是开始选择SSD,FusionIO性能非常强悍,不过价格也强悍,160GB的大概4800美刀。Intel?有企业版的X25-E,采用SLC结构,还是偏贵了一些,性价比不高,另外容量较小。最后选择了Intel X25-M 80G,4块做RAID10?能使用160G。X25-M的MTBF(Mean Time Between Failure,即平均无故障时间)达到120万小时,不过MLC颗粒的擦写理论寿命1万次,为了保险起见使用RAID10,另外会部署一台使用SAS硬盘的slave DB同步数据做备份,就算用SSD这台出问题也可以很快恢复服务。?Intel?X25-M相关文章:?/viewthread.php?tid=44144/viewthread.php?tid=44144?/1/16_107911.html/1/16_107911.html?/2/lib/200908/31/20090831254_0.htm/2/lib/200908/31/20090831254_0.htm??2、SSD需要的特殊处理:?如果是单块SSD,由于SSD的特殊性,即在写数据之前需要把用到的区域擦除然后再进行写操作。如果文件系统写操作能对齐SSD的BLOCK SIZE,性能会更好,可以使用fdisk对扇区做一些处理。?参考文章:/blog/personal/80-aligning-an-ssd-on-linux?由于我这里做了RAID 10,所以情况有一点不一样,是否同样需要对BLOCK SIZE进行操作还没有完全搞清楚,目前没有修改。有研究的哥们儿还请不吝赐教。?在分区时留下了一些连续空间?不使用(10%到20%),Intel控制器会自动将这些空间用作空余空间替换使用,以保持性能延长寿命。综合考虑了一下,我剩余了15G左右。?参考文章:/171/1718110.html?如果做了RAID,可以考虑使用128KB的strip size(由于没找到远程改stripe size的方法,没有具体测试,有机会还需要专门测试一下)?参考文章:/forum/251218-32-intel-gen2-raid-stripe-size??3、DELL服务器查看RAID信息,硬件RAID优化:?需要在Linux下查看RAID的状态,DELL的RAID查看工具不支持Debian。?查了一些资料,说可以安装DELL的open manage。?/share/detailshare/detaildebian下的安装:http://www.tbaumi.de/blog/?p=210?不过这些感觉还是相对麻烦。?后来找到一个简单的方法,首先用?lspci?命令查看一下,如果有类似?03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)?这样的就可以用。?下载MegaCli/DistributionSystem/AssetDocument/8.00.23_Linux_CLI.zip/DistributionSystem/AssetDocument/8.00.23_Linux_CLI.zip?解压之后会得到一个rpm包,MegaCli-8.00.23-1.i386.rpm?使用alien命令转换成tgz?alien --to-tgz?MegaCli-8.00.23-1.i386.r
显示全部