今天通过测试,我惊讶的发现,在win主机IIS环境里,asp.net的运行速度竟然比php快70倍,比asp快39倍!这让我感悟到,wordpress博客或其他php构架的cms程序拿到win主机里运行将是一个十分错误的选择。
下面是本人今天的测试记录。
测试设备及环境
测试设备:自用笔记本
测试系统:Windows Server 2003企业版
运行环境:IIS6.0
测试方法
分别用asp.net、php和asp执行一千万次for循环,获得执行时间。如下为测试代码:
asp.net
System.DateTime startTime = System.DateTime.Now;
for (long i = 1; i < 10000000; i++)
{
}
System.DateTime endTime = System.DateTime.Now;
System.TimeSpan ts = endTime - startTime;
Response.Write("页面执行时间:" + ts.Milliseconds.ToString("0.000") + " 毫秒");
php
<?php
$start_time=microtime(true);
for($i=0; $i<10000000; $i++)
{
}
$end_time=microtime(true);
print "页面执行时间: ".round(($end_time-$start_time)*1000,1)." 毫秒";
?>
asp
<%
dim i
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "页面执行时间:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
执行结果
为了得到更合理的数据,采用各执行5次(第一次执行除外),然后取平均值。如下为测试结果:
语言 | 执行时间 | 平均时间 | ||||
asp.net | 31ms | 15ms | 31ms | 15ms | 15ms | 21ms |
php | 1470ms | 1473ms | 1476ms | 1467ms | 1490ms | 1475ms |
asp | 812ms | 828ms | 812ms | 812ms | 828ms | 818ms |
从以上测试结果看出,asp.net的执行时间比php快了70倍,比asp快了39倍。这个测试结果是我一直没有想到的。
系统资源消耗情况
下面是执行各程序时的系统资源消耗情况,主要是看cpu和内存瞬间值。
asp.net
asp.net执行程序时cpu峰值升到10%,使用内存显示是1.01GB(注意,测试时笔记本并没有关闭其他所有运行着的程序,所以这个内存并不是此程序执行单独消耗的数值)。
php
php执行程序时cpu峰值升到75%,使用内存显示是1.03GB。
asp
asp执行程序时cpu峰值升到58%,使用内存显示是1.06GB。
总结:在系统资源消耗方面,asp.net的优势再次凸显出来了,它对cpu的消耗比php和asp少很多,php对cpu的消耗比asp多一点,但差别不大;而对内存的消耗,三者差别并不大。
测试后感
现在的win主机空间,几乎都是“全能型”的了,同时支持多种语言,主要是asp.net、php和asp三种语言。其实,就是IIS web服务器配上PHP运行环境,就成了“全能型”虚拟主机了。
对于使用这类空间的朋友,本测试结果告诉你,最好不要用它来运行php程序搭建的网站,譬如你用的是wordpress、dedecms等php构架的程序。对于博客站长来说,本人认为,如果你选用这类空间搭建博客,那么你就弃用wordpress吧,用zblog来搭建更合适,因为在这类空间里zblog比wordpress在速度和承载力上更胜一筹。
☉asp.net如何格式化dos输出的内容 需转换换行符 (2012-4-18 1:54:0)
☉php在服务器执行exec命令失败的解决方法 (2012-2-12 0:10:3)
☉windows 2003 64位系统php运行报错:1% 不是有效的 win32 应用程序 (2012-2-11 22:59:41)
☉windows2003 IIS配置支持PHP环境,星外PHP全自动安装30秒搞定 (2011-11-6 14:36:50)
☉asp.net实现的计算网页下载速度的方法 (2011-6-11 23:8:19)
☉asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例 (2010-12-20 19:30:33)
☉can't locate api module structure php 解决方法 (2010-4-29 4:32:15)
☉windows下安装配置apache+php+mysql环境(三):mysql安装配置 (2010-4-29 2:30:3)
☉windows下安装配置apache+php+mysql环境(二):apache安装配置 (2010-4-28 23:27:10)
☉windows下安装配置apache+php+mysql环境(一):php安装配置 (2010-4-27 22:36:33)
☉asp生成utf-8格式文件 (2010-1-12 6:48:39)
☉总结:asp.net分割字符串的几种方法 (2009-11-22 23:7:12)
☉asp.net页面过滤所有换行符和多余空格 (2009-11-22 20:43:59)
☉Request.Cookies.Remove()无法删除cookie的解决办法 (asp.net) (2009-11-20 19:43:5)
☉如何使用asp.net(c#)下载Excel文件 (2009-11-18 19:21:29)
外国php主机 于 2013-10-8 10:33:41 回复如果php还是用linux吧。win主机比起linux主机,更耗内存跟cpu
seo 的最新文章:济宁连线:2012年4月白酒市场布局
seo 的最新文章:菏泽连线:2012年4月单县瓶装主流啤酒价格体系
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。