由于对Linux的向往,对PHP的渐渐喜爱,对Windows频繁重启的厌恶,我开始越来越想把服务器的平台更换成Linux了。我也曾在 Windows 2003上尝试用Apache代替IIS,但是结果是相当的失败。稳定性、性能比较,Apache for Windows和IIS6绝对不在一个档次上,前者与后者的差距不是几倍的问题,而是几十倍。如果,你使用Windows系统,Windows Server+IIS(6/7)+ASP.NET绝对是最佳组合,特别是IIS7配合ASP.NET,性能又上了一个台阶。

  ASP.NET(C#)绝对是一个好东西,论性能,绝对不比PHP慢,甚至还要快。那为什么我要放弃ASP.NET而转向PHP呢?最主要是 Linux下,PHP是主流,并且PHP是一套开放的、成熟的体系,各种扩展,各种性能优化的方法很多很多;而ASP.NET是一个封闭的体系,并且在 Linux下实现起来并不是很完美,稳定性、性能等还都有待考验,我是万万不敢用在生产环境下的,呵呵。

  啰嗦了半天,就是想表达一下我对两套体系:Linux+Nginx+MySQL+PHP(LEMP)和Windows+IIS+SQLServer+ASP.NET(WISN)的大概看法。好了,下面切入正题,说说我这几天来对着三个Web服务器的粗略测试。

  首先是环境:

  1、IIS环境:
引用
CPU:Core2 Duo T5500 1.66GHz
内存:DDR2-667 2GB
硬盘:富士通 5400转/分 120GB
操作系统:Windows 2003 企业版 X64
PHP:5.2.6 ISAPI
MySQL:5.1.31 X64


  2、Apache环境:
引用
CPU:Core2 Duo T5500 1.66GHz
内存:DDR2-667 2GB
硬盘:富士通 5400转/分 120GB
操作系统:Windows 2008 标准版 X86
PHP:5.2.9-1 Fast-CGI
MySQL:5.1.31


  3、Nginx环境:
引用
CPU:Core2 Duo T5500 1.66GHz
内存:DDR2-667 2GB
硬盘:富士通 5400转/分 120GB
操作系统:CentOS 5.2 X64
PHP:5.2.9 Fast-CGI
MySQL:5.1.32 源码编译


  4、测试PHP的代码:
引用
<?php
function getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}

$count=0;
$start = getmicrotime();
for ($i = 0; $i < 10000000; $i++){
    $count++;
}

$end = getmicrotime();
echo $end - $start;
echo "<br />";
echo getmicrotime();
?>

  IIS环境中,执行时间是2.6秒;Apache环境中,执行时间是2.8秒;Nginx环境,执行时间是2.4秒。再次强调,这只是一个简单的测试,并不能代表真实应用环境中的差别。比如,运行Discuz 7.0论坛显示首页,IIS环境最快是0.038秒,而Nginx环境最快是0.016秒。

Tags: , ,
纯技术分类 » Web服务器 | 评论(0) | 引用(0) | 阅读(2130)
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]