Apache软件基金会(ASF)宣布发布Apache的2.4版本,这是自2005年12月1号来,Apache的首次重大更新。做为最流行的WEB服务器,本次发布的2.4版本中,从另一款以计算能力著称的Web服务器NGINX中汲取了不少东西,增加了很多对高性能的支持,也由此引发了Apache使用者和潜在用户们的一些疑问。

例如,现有的Apache用户是否真的需要新版中加入的云计算支持?这些新功能是否足以挽留那些正准备倒戈到NGINX的用户呢?还是说,可以从NGINX的市场份额中夺回原属于自己的那部分?

在由4亿网站所组成的互联网中,Apache以65%的占有率毫无悬念的成为了互联网上最受欢迎的Web服务器,这项排名一直从1996年保持至今。但就在最新几个月中,开源Web服务器NGINX已经超越了微软的IIS,成为了第二受欢迎的Web服务器。最近,NGINX又宣布要为企业提供商业支持服务,看来,NGINX已经是做足了准备去抢占Apache的市场了。

针对主机服务商和开发人员,新版本的Apache提供了很多性能方面的提升,包括:支持更大流量,更好的支持云计算,利用更少的内存处理更多的并发等等。

除此之外,新版本的提升还包括:性能提升,内存利用,异步I/O的支持,动态反向代理设置,与时间驱动的Web服务器相当或更好的性能,更强大的处理资源分配能力,更友好的缓存支持,可定制的高速服务器和代理等。

其它的功能包括:更容易的错误分析,更灵活的设置项,更强大的验证机制,更完整的文档。关于更详细的新功能介绍,可以参考Apache的官方网站。

“我们很荣幸的宣布Apache HTTP服务器 2.4版本正式发布”。Apache项目的副主席Eric Covener宣布道。“这个版本包含了很多方面的提升,不仅添加了新的模块,同时也扩展了原有模块的性能和灵活性。相信无论是用户,网站管理者,还是开发人员都会非常欢迎的。”

Apach HTTP服务器的源码以Apache License v2.0协议发布,同时,由一支自我管理的团队负责开发和维护。

header() 函数向客户端发送原始的 HTTP 报头。

header函数是经常使用到的函数,如302跳转

header('Location: http://www.example.com/');

也可以输出一些HTTP头,如

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

有时候会用readfile 直接读取并在浏览器上输出,但效率怎么样呢?

我测试的是600个图片同时用readfile来读取,在同一页面上显示,

结果php-cgi.exe进程大量增加,图片打开很慢,同服务器其他PHP程序打不开,

因为一张图片的读取和传输的时间远远大于一个普通页面,这样PHP进程很长时间不能释放,

造成大量php-cgi.exe生成,我最高生成200多个这样的进程。

结论:

如果需要一次性或者网站访问量过大,尽量不要用PHP来读取图片,一般服务器承受不起

如果必须要用PHP输出图片,请加个304状态的判断,这样可以减轻同一客户端对同一图片访问的压力。

 

, ,

mataserver是一个 apache+php+mysql for windows集成环境 ,主要是用于学习之用。

注意:有些杀毒软件会误报,程序本身没有病毒。

点击下载

PHP从5.3开始用Zend Guard Loader来代替Zend Optimizer,加速的效果应该不是很明显了,毕竟PHP5本身就很快了。主要是运行用Zend Guard加密的PHP程序。

下载 Zend Guard Loader http://downloads.zend.com/guard/5.1.0EA/ZendGuardLoader-php-5.3-Windows.zip

解压包里的ZendLoader.dll文件到任何目录下(建议放到PHP的ext目录下)

修改php.ini文件,添加

[Zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension=”c:/php5/ext/ZendLoader.dll”

其中 c:/php5/ext/ 换成你的目录

保存,重启 web 服务器

如果安装成功,可以在PHPINFO里看到 Zend Guard Loader信息

注意:改包里的ZendLoader.dll 只能用于 非安全线程(non thread safe)的PHP。

,