在J2EE企业应用中,不仅仅需要考虑到系统的架构与设计,还需要关注存储系列的话题,存储包括硬件和软件,话题中数据库也算存储系列当中的重点。当前对与MySQL的使用越来越广泛,对MySQL的期望和要求也越来越多。记得在前几天我写过一篇文章,关于一个德国网站的 架构,他们正在考虑将现在使用的MySQL引擎换掉,采用XtraDB数据库引擎,详见: 德国SNS交友/视频网站Poppen.de的技术架构分享。
最近看一个老外在Dell PowerEdge R900机器上做的MySQL测试,使用MySQL 5.1.42,分别采用3种不同的引擎进行比较,分别是MySQL自带的InnoDB,InnoDB-plugin 1.0.6、 XtraDB 1.0.6-9 ,测试数据90GB+索引。
Dell PowerEdge R900的机器配置如下:
* 4 QuadCore Intel(R) Xeon(R) CPU E7320 @ 2.13GHz (16 cores in total)
* 32GB of RAM
* RAID10 on 8 disks 2.5/15K RPMS
* FusionIO 160GB SLC
* FusionIO 320GB MLC
测试环境的InnoDB数据文件建立在FusionIO存储设备上,采用160GB SLC卡 和 320GB MLC卡配置的软RAID0 存储,而InnoDB 日志和 MySQL系统表建立在 RAID10 设备上,测试环境中的my.cnf配置文件清单如下:
* InnoDB
innodb_buffer_pool_size=26G
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=8M
innodb_log_files_in_group=3
innodb_log_file_size=512M
innodb_thread_concurrency=0
innodb_flush_method = [...]