月光博客 » 网站建设 » Windows服务器下的IIS和Apache性能比较

Windows服务器下的IIS和Apache性能比较

  目前最流行的建立网站的服务工具就要属Apache与IIS了。那么他们之间到底哪个性能更好呢?到底哪个工具才是最适合我们的呢?最近我也对这方面的问题进行了一番研究。

  如果是基于Linux平台的话,那不必多说自然是Apache了,因为IIS只能在Windows环境下运行,而Linux+Apache的整体性能、安全性、通用性也都强于Windows 2003+IIS 6.0,不过如果在Windows 2003的服务器上,IIS 6.0和Apache 2.2.6到底哪个性能最好呢?

  我于是做了一个测试,在不同型号的Windows 2003服务器上安装IIS和Apache,比较两者的性能,最基本的比较是静态HTML网页读取的比较,在我的测试之中,我发现Windows 2003下的IIS 6和Apache 2.2.6在静态HTML文件的处理性能上基本是相同的。

  测试环境:三台不同的服务器,CPU分别是P4 2.8E超线程,酷睿2 E6300,至强 5110,软件分别安装的IIS6和Apache 2.2.6.三台服务器都放了一个40K的HTML文档,我使用WAS(Web Application Stress Tool),开100个线程对这三台服务器进行吞吐量处理测试,测试其每秒钟处理线程的能力(Requests per Second),测试时间为1分钟。

  对于P4 2.8E和E6300,无论对于IIS和Apache,两者的点击数都基本上是250,每秒钟处理响应的数目大约为4.17.这说明对于静态HTML文件的处理能力,IIS和Apache在Windows平台下是基本相同的。

  而Intel至强5110的测试数据就相差非常大,在IIS下点击数达到了1838,每秒钟处理响应的数目达到了30.63,几乎比前两台服务器高了7倍,这说明在同样的软件环境下,即使是入门级别的CPU,Intel至强服务器也具有远远超过普通奔腾服务器的性能。

  因此得出结论,如果一个网站的大部分页面都是静态页面,并且是假设在Windows 2003服务器上的,那么IIS和Apache两者性能基本相同,要想提高网站的整体吞吐量,需要在服务器硬件上进行升级。

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    Achin   说道:
    小规模测试也可略窥一斑,恐怖级应用的性能,恐怕要到实际环境中去考量了。
    支持(19反对(8回复
  1. 2
    Yimi   说道:
    咱不懂,学习中……
    支持(18反对(8回复
  1. 3
    sky   说道:
    很好很强大.....
    支持(22反对(13回复
  1. 4
    david   说道:
    现在的网站大到门户,小到blog,大多数都是数据库支撑的,一般都有缓冲支持吧,所以可能研究动态网站的性能更有实际意义一些。毕竟纯静态的不是主流的实现方案
    支持(15反对(8回复
  1. 5
    Sleven   说道:
    敢情楼上都是做IDC的?
    支持(19反对(12回复
  1. 6
    低调年华   说道:
    万转SCSI硬盘目前已不见往日优势
    西部数据320GB/16MB缓存(WD3200AAKS)性能超过普通万转SCSI硬盘了
    支持(12反对(6回复
  1. 7
    123   说道:
    很有用的测试
    支持(15反对(10回复
  1. 8
    斑马   说道:
    提出问题=>设计实验=>观察结果,做出结论=》月光,不是在写论文吧!
    支持(14反对(10回复
  1. 9
    wyt   说道:
    apache并不是以性能见长,但在linux下怎么也会比IIS好,要处理静态文件,还是推荐Lighttpd or Nginx
    支持(16反对(12回复
  1. 10
    飘易博客   说道:
    月光的这个测试有点意思哦。至强CPU很好很强大
    支持(13反对(9回复
  1. 11
    gx   说道:
    to 19楼:


    奔腾3代肯定有志强的,奔腾2代有没有忘记了。
    支持(14反对(10回复
  1. 12
    MIC   说道:
    速度快了....
    支持(16反对(13回复
  1. 13
    低调年华   说道:
    win2k3处理PHP同样zend+eAccelerator加速
    负载上Apache2.28优于IIS6
    全能方面(php+asp)IIS6领先
    IIS7以及安装过FastCGI的IIS6暂时还不知道跑php如何~
    支持(12反对(9回复
  1. 14
    Kulaer   说道:
    100个知名站点 其中一个只有微软的iis 其他的都是apache
    支持(12反对(9回复
  1. 15
    tony   说道:
    1.100个知名站点,只有一个是IIS没错,但必须要考率开发平台的因素。因此,还是一个观点,用JSP或PHP的就好好用LINUX,用.net或ASP的就好好用IIS。
    2.测试结果相近的原因有可能在于取样率过小,建议可根据不同应用级别进行测试。可能可以得出更好的结果。
    3.IIS和APACHE哪个更好,那是厂商的事。做为开发人员应该把精力放在代码,结构,数据库的设计和优化上。这才是最重要的。事实上大部分系统的瓶颈都非硬件/运行环境的问题。

    支持(22反对(19回复
  1. 16
    johnny   说道:
    ……博主怎么做了这么个实验……有闲心~
    支持(13反对(11回复
  1. 17
    Null   说道:
    继续建议月光换块SCSI硬盘再试试
    支持(16反对(14回复
  1. 18
    guest   说道:
    相关的研究表明,服务器在性能上提高并没有和价格成正比,性价比很低,

    造成如此大的性能差别,可能和CPU的设计用途有关,并不能简单认为服务器CPU比家用CPU性能好7倍.
    支持(14反对(13回复
  1. 19
    天猫扑涯   说道:
    那Apache和IIS在实际应用时有什么区别吗?
    支持(16反对(15回复
  1. 20
    我行我素   说道:
    占个位置坐坐
    支持(12反对(12回复
  1. 21
    TanCee   说道:
    对于P4 2.8E和E6300,无论对于IIS和Apache,两者的点击数都基本上是250
    支持(10反对(10回复
  1. 22
    color   说道:
    恩 有道理,我也要研究一下
    支持(13反对(13回复
  1. 23
    kevin   说道:
    apache还是在linux下表现的好
    支持(10反对(10回复
  1. 24
    lcf00023   说道:
    要是在Windows svr 2008 上做iis的测试和Apache的比较呢?
    支持(10反对(11回复
  1. 25
    willerce   说道:
    学习了...
    支持(9反对(10回复
  1. 26
    孤山一笑   说道:
    https://www.williamlong.info/archives/1197.html

    这个页面显示好像有问题
    支持(11反对(12回复
  1. 27
    斑马   说道:
    Windows Server 2008已经发布了!微软的中文教程都出来了!
    支持(10反对(11回复
  1. 28
    CDV   说道:
    咱不懂,学习中……
    支持(12反对(13回复
  1. 29
    yezi   说道:
    月光,不知道你有没有进行过动态页面的压力测试。
    PHP的phpinfo()函数,在ab -c 1000 -n 1000 http://xxx.xxx.xxx.xxx/phpinfo.php程序运行到820+的时候,内存占用高达1.16G,之后HTTPD崩溃并重启。。。实际运用中也是,用户并发很大的情况下,每2分钟就崩溃一次。。

    而在IIS6+PHP下,没有任何问题,ab -c 1000 -n 10000 http://xxx.xxx.xxx.xxx/phpinfo.php都能正常相应,仅仅是因为CPU高达100%而崩速度比较慢,有时候会到2s。。。

    CPU XEON 4核 2.66G
    2G内存

    ps:
    在Apache+PHP下,老是报错:
    [Mon Aug 18 00:43:53 2003] [notice] Parent: child process exited with status 3221225477 -- Restarting.
    [Mon Aug 18 00:43:53 2003] [notice] Apache/2.2.8 (Win32) PHP/5.2.5 configured -- resuming normal operations
    [Mon Aug 18 00:43:53 2003] [notice] Disabled use of AcceptEx() WinSock2 API
    google了不少文章,对于3221225477 这个问题都没有一个很好的解决办法,不知道其他人的解决方案如何呢?
    期待高手给予帮助,3Q
    支持(9反对(10回复
  1. 30
    keengo   说道:
    nginx的windows版性能不佳,推荐国产的kangle web server,无论windows,还是linux性能都很不错,最关键是有个友好的管理界面。
    支持(10反对(11回复
  1. 31
    wx497657341   说道:
    说了跟没说一样
    支持(4反对(5回复
  1. 32
    linker   说道:
    至强四核的,向往下来,也就六千左右,上吧!
    支持(10反对(12回复
  1. 33
    guest   说道:
    你们在说SCSI硬盘,为什么不说说SAS硬盘和SSD硬盘,处理能力会更加强强,
    个人觉得其他硬件也会影响性能发挥,不单单看CPU的。

    用上RAID 0阵列或者SSD硬盘,会使性能发挥得更加强
    支持(8反对(10回复
  1. 34
    xjb   说道:
    Windows Server 2008 已经发布了呀
    支持(17反对(19回复
  1. 35
    王八   说道:
    这片文章咋这么虚..

    拿P4 2.8 跟新时代的E5110 比.真是牛b

    咋不拿E8400 pk E5110 估计E5110 单处理器要被扒皮抽筋
    支持(9反对(11回复
  1. 36
    老山羊   说道:
    没看懂,到底是测IIS和Apache呢?还是在测试硬件呢?
    支持(10反对(12回复
  1. 37
    青年怪客   说道:
    我个人感觉还是Linux服务器好些,总体上学安全性还有一些性能都还是比较好的。windows服务器也还是可以用的,只是不过,出现的问题比较多点。个人理解是这样的。
    支持(14反对(16回复
  1. 38
    ayanamist   说道:
    那在至强服务器上Apache的性能怎么样呢?最好奇这个
    支持(14反对(17回复
  1. 39
    Steve   说道:
    对于P4 2.8E和E6300,无论对于IIS和Apache,两者的点击数都基本上是250?

    E6300是雙核,P4 2.8E 只是單核,如兩者的結果一樣這代表了Win2003在多CPU多Threads的scalability有問題,但Xeon的結果又和之前的測試結果互相茅盾,所以這次的測試結果有問題。

    其實也並不要太高估Xeon這類Server CPU的能力,因為在PentiumIII或之前的x86 CPU並沒有分Desktop或Server CPU,Server也是使用P3 CPU,到了P4時代才有Xeon的出現,而Xeon也只是Desktop CPU的強化版本而已。
    支持(8反对(11回复
  1. 40
    islandfor   说道:
    静态,看来什么东西,传统一点保守一点至少不会吃大亏。
    支持(8反对(11回复
  1. 41
    cokar   说道:
    不懂哦!~~~
    支持(9反对(13回复
  1. 42
    起步者   说道:
    分析的有道理,学习了。先沙发一下。。
    支持(14反对(19回复
  1. 43
    教师   说道:
    文章写到最后严重跑题了,是不是还没测试完成呢?

    至强服务器上Apache的性能怎么样呢?我也最好奇这个
    支持(10反对(16回复
  1. 44
    williamlong   说道:
    Windows Server 2008还没发布呢吧,不过估计2008的IIS性能应该比2003的好。
    支持(13反对(20回复
  1. 45
    测振仪   说道:
    好啊用上RAID 0阵列或者SSD硬盘
    支持(11反对(19回复
  1. 46
    没有   说道:
    结论建立在较小概率的事实观察基础之上,而且测试程序设计太简单,没有太大说服力。
    支持(9反对(18回复
  1. 擦最后结论基本相同用你说
    支持(0反对(9回复
  1. 48
    Null   说道:
    SCSI的真正优势不是转速
    而是其读取不占CPU。。尤其是大量小文件读写的时候,能极大减轻CPU工作量
    支持(7反对(21回复

发表留言