Windows 7 上 IIS 和 Apache 性能测试对比

环境(64位Win7): IIS7+PHP5.4(NTS非线程安全版本) vs Apache2.4(32位)+PHP5.4

静态文件处理:

ab -k -c100 -n10000 http://127.0.0.1/info.htm     
# IIS RPS 1709

ab -k -c100 -n10000 http://127.0.0.1:8080/info.htm
# Apache RPS 1847

结论:基于APR运行时和WinNT多线程的Apache在静态资源处理方面并不比IIS差.

PHP文件处理:

ab -k -c100 -n10000 http://127.0.0.1/bs.php     
# IIS RPS 1180

ab -k -c100 -n10000 http://127.0.0.1:8080/bs.php
# Apache RPS 1071

结论:Apache使用了线程化的MPM,所以需要使用线程安全版本的PHP,而线程安全检查有一定开销,所以性能要比IIS+PHP-CGI低一些.

info.htm是IIS下phpinfo()输出HTML内容.

bs.php是一个执行100次冒泡排序的PHP脚本,内容如下:

<?php

header(‘Content-Type: text/plain; charset=utf-8‘);

function bubble_sort($array) {

$size = count($array);

for ($i=0;$i<$size;$i++) {

for ($j=0;$j<$size-1;$j++) {

if ($array[$j] < $array[$j+1]) {

$temp = $array[$j];

$array[$j] = $array[$j+1];

$array[$j+1] = $temp;

}

}

}

return $array;

}

for ($c=0;$c<100;$c++) {

$array = array(0,1,2,3,4,5,6,7,8,9);

$array = bubble_sort($array);

}

print_r($array);

?>

在一次IIS7+PHP的phpinfo()测试中,100并发,10000个请求,
居然有8978个请求失败了!

附: Windows 7 上安装 IIS 和 PHP

安装IIS:

控制面板-程序和功能-打开或关闭Windows功能:

Internet信息服务 - Web管理工具 - IIS管理控制台 打勾

Internet信息服务 - 万维网服务 - 常见 HTTP 功能 - HTTP 错误 打勾

Internet信息服务 - 万维网服务 - 常见 HTTP 功能 - 静态内容 打勾

Internet信息服务 - 万维网服务 - 应用程序开发功能 - CGI 打勾

点击确定等待安装完成,重启操作系统.

默认网站根目录:

C:\inetpub\wwwroot

控制面板-管理工具-Internet信息服务(IIS)管理器: 可以看到"FastCGI设置".

PHP Manager 1.2 for IIS 7

http://phpmanager.codeplex.com/

控制面板-管理工具-Internet信息服务(IIS)管理器: 可以看到"PHP Manager".

PHP NTS:

http://windows.php.net/

控制面板-管理工具-Internet信息服务(IIS)管理器-"PHP Manager"-"Register new PHP version"填入:

D:\png\php\5.4.39NTS\php-cgi.exe

点击"check phpinfo()",选择一个用于检查PHP环境的站点,检查PHP是否安装成功.

如果注册了多个PHP版本,可以点击"Change PHP version"切换.

时间: 2024-10-17 05:45:39

Windows 7 上 IIS 和 Apache 性能测试对比的相关文章

Windows OS上安装运行Apache Kafka教程

本文转自:http://geek.csdn.net/news/detail/52976 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在Windows OS上配置并启动Apache Kafka,这篇指南将会指导你安装Java和Apache Zookeeper. Apache Kafka是一个快速可扩展的消息队列,能够应对繁重的读写负载,即IO相关工作.更多信息请参见http://kafka.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 下 IIS与Apache 共存

在Windows服务器下, 安装了IIS以及Apache服务器, 如何使他们一起工作. 目前我面对的问题是, 只有一个IP地址,要通过不同的端口来访问不同的程序. 解决方案如下: 1.找到 Apache 下 httpd.conf 文件.把一下几项去除注释 LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_f

多功能集成环境在windows服务器上搭建PHP网站案例,在服务器上搭建PHP网站

服务器版本:Windows Server 2008 R2 Enterprise 平时搭建PHP网站,可以在linux服务器上搭建,也可以在windows服务器上搭建,主要看你个人需求了,今天我们演示的是用PHPWAMP绿色集成环境在windows服务器上搭建php网站. 这款PHPWAMP绿色集成环境也属于WAMP套件,大家知道什么是WAMP吧? Windows下的Apache+Mysql+PHP,称为WAMP. WAMP套件其实有很多,就比如wampserver.apmserv.xampp等等

Web服务器之iis,apache,tomcat三者之间的比较

IIS-Apache-Tomcat的区别 IIS与Tomcat的区别 IIS是微软公司的Web服务器.主要支持ASP语言环境. Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的SJP语言环境容器,严格得说不能算是一个WEB服务器,而是Apache服务适配器. tomcat主要的任务不是WEB服务,而是支持JSP语言环境. IIS就是也款WEB服务器,支持ASP语言环境 Apache与Tomcat的区别 APA

当php懈垢windows通用上传缺陷

转自独自等待博客 早上逛乌云发现了PKAV大牛的一篇文章,针对php和windows文件上传的分析,思路很YD,果断转之与大家分享. 虽然此文可能有许多的限制条件,但是如果你认真阅读会发现,其实还是比较实用的. 另外一篇团长发的pdf中也涉及到了相关的文章,是国外的nosec发布的,英文的,感兴趣的同学在这里下载 点我下载 #1 实例介绍 本案例采用的实例是:U-Mail邮件系统. U-Mail邮件系统文件上传的地方代码是这样的: <?php if(ACTION =="attach-upl

C#、PHP与NodeJs性能测试对比

http://www.prahladyeri.com/2014/06/php-vs-node-js-real-statistics/ 在网络编程领域,常用的解决方案就是JSP(SSH).ASP.NET.PHP加上LAMP这种架构.不过,现在这个大家庭加入了NodeJS,这个轻量级的基于JavaScript服务端库的平台可以使用异步I/O的方式来提升整体的性能. I/O操作是网络传输中占用资源最大的模块.当Apache服务器接收到请求时,它会将它传输到PHP解释器来执行任何动态脚本的模块.这也是最

当php邂逅windows通用上传缺陷

早上逛乌云发现了PKAV大牛的一篇文章,针对php和windows文件上传的分析,思路很YD,果断转之与大家分享. 虽然此文可能有许多的限制条件,但是如果你认真阅读会发现,其实还是比较实用的. 另外一篇团长发的pdf中也涉及到了相关的文章,是国外的nosec发布的,英文的,感兴趣的同学在这里下载http://pan.baidu.com/s/1hqiQRbA 本案例采用的实例是:U-Mail邮件系统. U-Mail邮件系统文件上传的地方代码是这样的: <?php if(ACTION =="a

JMeter--二、在Windows环境上搭建wordpress

为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? WordPress是一个免费的开源项目,是博客平台:也可以把 WordPress当作一个CMS(Content Manager System,内容管理系统)来使用. wordpress是使用PHP语言和MySQL数据库开发的. 因此,为了能够正常使用wordpress,我们需要在windows环境上搭建