积木首页 | 500多种网页特效 | 函数手册 | 广播电台 | 高清晰图片素材 | 服务器合租 | 万年历 | 网友最新浏览记录
程序开发 网页设计 搜索引擎 特效代码 操作系统 防范病毒 黑客技术 图形图象 电脑硬件 网络技术 服 务 器 数 据 库 网文精粹
您的位置:积木首页 >> 服务器频道 >> Win服务器 >> 正文:
标题:Apache 性能最优化分析(5)
时间:2004-7-24 来源:不详 浏览数:
 USE_FLOCK_SERIALIZED_ACCEPT

  此方法用flock(2)系统调用对一个锁文件加锁。(此文件在LockFile命令中指定)

  USE_FCNTL_SERIALIZED_ACCEPT

  此方法用flock(2)系统调用对一个锁文件加锁。(此文件在LockFile命令中指定)

  USE_SYSVSEM_SERIALIZED_ACCEPT (1.3版及以后)

  此方法借助SysV的信号量(semaphores)实现互斥。但不巧的是SysV信号量有一些负面作用。一是Apache可能在清除信号量之前非正常终止;二是在使用信号量API时需要考虑到任何与服务器UID相同的CGI程序可以进行拒绝服务攻击(就是说所有的CGI程序都可以这样做,除非使用suexec或cgiwrapper之类的方法)。所以,这种方法并不被IRIX之外的系统广泛采纳(由于大多数IRIX系统上,使用前两种方法的代价太大)。

  USE_USLOCK_SERIALIZED_ACCEPT

  (1.3版及以后)此方法仅在IRIX上可用。它调用usconfig(2)创建互斥量。虽然这种方法避免了对SysV信号量的种种争议,但它不是IRIX的缺省方案。这是由于在单处理器的IRIX系统 (5.3或6.2)上,uslock代码比SysV信号量慢两个数量级;但在多处理器的IRIX中前者比后者快一个数量级。这无非使问题复杂化了。所以在多处理器IRIX系统上,您需要用如下的附加参数编译Apache:

    在EXTRA_CFLAGS中添加-DUSE_USLOCK_SERIALIZED_ACCEPT
    USE_PTHREAD_SERIALIZED_ACCEPT


  
(1.3版及以后)此方法实现了POSIX标准互斥量。它理应可以工作在任何实现了全部POSIX线程规范的系统上,但事实是只有在Solaris 2.5或以上的系统及特定的配置中才能工作。如果您尝试这种方法的话,需要小心服务器挂起或者没有响应。服务器在只输出静态网页的情况下运行得很好。

  如果您的系统上有其他串行化的方法,为它书写代码(并把补丁寄给Apache)是值得的。

  有一个考虑到但从未实现的方案是对循环部分地串行化--即允许一定数目的进程进入循环。在同一时刻可运行若干进程的多处理器系统上,这个主意是满不错的。而且前面提到的方案并没有充分利用带宽。可由于高度并行化的服务器实在少见,这个方案的优先级比较低。

  为了得到最佳性能,不用多侦听命令是最理想的。请继续往下看。


(责任编辑:欣欣裴)
关于本站 | 广告服务 | 联系我们 | 版权申明 | 强强联盟 | 投稿热线 | 网站地图 | 申请链接
Copyright ©2005-2006 Gimoo.net All rights reserved. 积木网 版权所有
E-mail:gimoohr@gmail.com 京ICP备05050695号