eweek 权威测试显示mysql 4.0.1 可与oracle 9i 媲美
eweek labs/pc labs 可以说是做基准测试的老大了,,早在 1993年 10月份他们的姐妹杂志 pc magazine 就做过同样的测试。这次和 pc magazine 合作测试了五种数据库在 java 应用服务器上的表现,结果显示 mysql 最新的 4.0.1 版本性能可以和 oracle 9i 媲美, 垫低的当然是微软的 sql server 2000 。 :-)
测试的这五种数据库是:ibm 的 db2 7.2 fixpack 5,微软的 sql server 2000 企业版 sp2, mysql ab 的 mysql 4.0.1 max, oracle 的 oracle9i 企业版 9.0.1.1.1 以及 sybase 的 ase (adaptive server enterprise) 12.5.0.1。
测试兼容性也是基准测试的一个主要目的,所有的数据库都在同样的硬件条件下测试:
hp netserver lt 6000r 带有四颗 700mhz xeon cpu, 2gb 内存以及 24 台 10000 rpm 的 9.1gb ultra3 scsi 磁盘,操作系统为 windows 2000 advanced server sp2。
测试的应用程序是一个叫做 nile 的基于 web 的书店应用。nile 采用了 empirix 公司的测试套件 6.0 ,能加载 50 到 10000 个并发用户。
测试采用的应用服务器是 bea 的 weblogic 6.1 sp1,并用 jsp 编写了 nile 应用。
每种测试运行一个小时产生五万张订单,15 万到 20万相关的记录数,我们得到的最好的伸缩性是在两台 6路 hp netserver lt 6000r ( 4gb 内存,千兆网卡)服务器上运行6个 weblogic 例程。http 流量均衡的分配到这六个例程中。
测试的总体结果显示 oracle9i 和 mysql 有最好的性能和伸缩性,但是 9i 仅仅略微比 mysql 好一些,ase, db2, oracle9i 和 mysql 到达 550 个并发用户时已经“力不从心”了,ase 的性能下降到了每秒 500 个页面,比 9i 和 mysql 要低 100 个页面,db2 在高负荷情况下,性能下降也很厉害,只有每秒 200 个页面了。
由于 jdbc 驱动存在问题,sql server 在整个测试中都只能达到每秒 200 个页面。
驱动,内存优化和数据库设计问题是影响性能的主要因素,经过手工细调后的性能会和没有调优的性能差两倍。
oracle 和 mysql 的驱动具有完整的 jdbc 特色和稳定性(mysql的员工采用了mark matthews 编写的 jdbc 驱动,因为他们没有自己的 jdbc 驱动程序)。