测试环境
操作系统:Linux AS release 4,内核2.6.9-42.ELsmp #1 SMP
CPU:Intel(R) Xeon(TM) CPU 3.00GHz,4核
内存:1G,主要运行MySQL服务
硬盘:cciss 37G
文件系统:ext3,支持大文件
MySQL:MySQL-5.0.51a
网卡:100M
网络环境:100M交换局域网
测试方法
数据规模分为1万条、10万条、100万条和1000万条记录级别。
在每种数据规模下分别执行2000次随机查询,这样可以防止数据库直接从缓存中返回查询结果,更加接近真实的查询情况。以系统时间为随机种子,在现有的记录范围内随机执行查询操作。
查询类型分为:单表select、双表select、insert、单表delete和双表delete。
因为MyISAM和InnoDB是MySQL使用最多的两种引擎,也是我们公司目前使用最频繁的引擎,因此分别做对比测试有一定的参考价值。
每个执行条目都为单次查询的平均执行时间,单位为微妙。如果要看整体执行时间,则乘以2000即可。
由于脚本插入数据很慢,采用mysql客户端工具测试效率很低且不能保证足够的随机性,所以插入数据和测试性能都是自己编写相应的程序来完成。
开启二进制更新日志。
测试记录
测试数据
MyISAM引擎跨主机查询操作平均执行时间(单位:微秒)
| 项目记录数 |
单表select |
双表select |
insert |
update |
单表delete |
双表delete |
| 1万条 |
358 |
484 |
1188 |
269 |
298 |
464 |
| 10万条 |
375 |
505 |
1227 |
283 |
322 |
521 |
| 100万条 |
3174 |
5293 |
1242 |
4142 |
7981 |
17212 |
| 1000万条< |

本文介绍了在不同数据规模下,MyISAM与InnoDB存储引擎在MySQL 5.0中的性能测试。测试涵盖单表、双表查询,插入、删除操作,并对性能进行了详细分析。优化后的InnoDB引擎在100万条以上数据规模时表现更优,而MyISAM在小规模数据下更快。文章提供了关键的InnoDB配置建议以提升性能。
815

被折叠的 条评论
为什么被折叠?



