·您的位置: 首页 » 纯粹博客 » 技术探讨 » 使用虚拟硬盘Ramdisk对MySQL数据库性能的影响实测

使用虚拟硬盘Ramdisk对MySQL数据库性能的影响实测

发布日期:2008-03-01
Ramdisk 是一款虚拟硬盘软件。它的作用是把物理内存划出一部分当作硬盘使用。
这篇文章,测试的是在 Windows 2003 下,把系统临时目录设置到虚拟硬盘后,对MySQL数据库性能的影响。

测试环境:
CPU: AMD Athlon 64 3400+ (2.2GHz)
内存:1 GB DDR 333 (3.0-3-3-7)
硬盘:Seagate ST3160812AS (酷鱼九 160G SATA)
操作系统:Windows Server 2003 Standard Edition
MYSQL 版本:6.0.3-alpha-community

测试采用一个 10.0M 的数据表 table1 (含3.7万行数据),测试查询语句为:

select * from table1 order by rand() limit 0,30;

使用 rand() 随机排序的查询,MySQL 会自动创建临时表。

----
测试一:系统临时目录设置在物理硬盘。
按照系统默认,系统变量 TEMP 和 TMP 的值为 C:\windows\TEMP,用户变量 TEMP 和 TMP 的值这里也设为 C:\windows\TEMP。

系统刚启动完成,在 PHPMyAdmin 中运行查询语句,并刷新 10 次,把每次查询用时记录下来,结果如下(单位为秒):

1.7446  1.1523  1.2543  1.5410  1.4012  1.3716  1.4238  1.5215  1.1823  1.1505

---
测试二:系统临时目录设置在虚拟硬盘。
用 Ramdisk 虚拟出一个 128M 的虚拟硬盘 R: 。
把系统变量 TEMP 和 TMP 设为 R:\TEMP,用户变量 TEMP 和 TMP 也设为 R:\TEMP。

重启系统并启动完成后,在 PHPMyAdmin 中运行同样的查询,一样记录 10 次查询用时,结果如下(单位为秒):

1.2243  0.4750  0.4903  0.5119  0.5124  0.4752  0.5029  0.4912  0.4879  0.4814

---

结论:
1) 每个测试的第1次查询,用时都明显比后面的9次要多。这是由于 MySQL 的缓存机制,第1次会把数据载入缓存。
而每个测试的后9次查询,用时相差不大,在合理的范围内跳动.

2) 测试二中,使用虚拟硬盘作临时目录,明显比测试一中用物理硬盘作临时目录快的多。从数据可以看出,查询用时少了一倍以上。

3) 测试的表只有 10.0M ,若是更大的表,理论上速率相差会更多。

4) 本测试中的语句需要创建临时表。若是不需要创建临时表的查询,查询速率相差不大。

Ramdisk 的下载见附件。
相关附件:
-= 文章分类 =-
文 章 搜 索
关键词:
类型:
范围:
最新发表
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备06033747号