64位渐渐成了主流,这时很多人都会有同一个疑问,64位比32位快么?
从理论上来讲 64位应该比32位快,因为他的CPU带宽增加了一倍,但实际情况怎么样呢?
听人家讲,心里总是不踏实,自己动手测试一下。
测试环境:
DELL 2950
CPU: Xeon 5310 *2
MEM: 8G
硬盘:SAS 146G
系统:CentOS 5.4 x86_64
在此环境下,安装linux vmware server,分别创建两个虚拟主机,相同的硬件分配,CPU两颗,内存1G,硬盘10G。
在两个虚拟机上分别再安装CentOS 5.4 32位和64位
然后配置相同版本的 apache + php +mysql 环境:
Aapache 2.2.3
mysql 5.1.37
php 5.3.1
使用测试脚本如下:
- <?php
- set_magic_quotes_runtime(0);
- $mtime = explode(' ', microtime());
- $startTime = $mtime[1] + $mtime[0];
- //begin
- for($i=0;$i<100;$i++){
- $link = mysql_connect("localhost","root","123456");
- mysql_select_db("test");
- $query = mysql_query("select * from user");
- $content = mysql_fetch_array($query);
- $content = implode($content,",");
- mysql_close($link);
- unlink('./test.txt');
- file_put_contents('./test.txt',$content);
- }
- $mtime = explode(' ', microtime());
- $endTime = $mtime[1] + $mtime[0];
- echo "execute time: " .($endTime - $startTime) ."\n";
- ?>
测试结果:
64位系统执行时间:0.12686395645142
32位系统执行时间:0.07864618301391
在php读取mysql写入文件的这一测试结果中显示 64位并不比32位快,而且还要慢不少。
具体原因我也不知道,系统底层的原理我也不明白,但就用作WEB服务器来讲,这一测试脚本,是程序中常用的操作,应该可以说明些问题吧。
结论:
并非新的东西就是最好的,选择适合自己的才是最重要的,至少目前,我还会继续使用32位系统,不打算升级到64位。
