科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道怎样优化Apache服务器的性能

怎样优化Apache服务器的性能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这篇文章主要涉及到对Apache服务器的安装和设置如何进行优化,这也是你最有控制权的部分。

来源:天极网 2007年7月20日

关键字: CGI 多处理 Apacher Apache

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

ZDNetChina服务器站 x86服务器技巧

     通过挤出Apache服务器的每一分潜力你可以让你的网站留给别人的印象大大改观,特别是对一些动态网站更是如何。这篇文章主要涉及到对Apache服务器的安装和设置如何进行优化,这也是你最有控制权的部分。

  测试与提高性能

  Apache服务器已经被设计得尽可能的快,即使你用一台配置不高的机器,用不着进行太复杂的设置,它的响应内容就足以塞满以前的各种窄带连接。但随网站内容日益复杂和带宽的增加,对Apache进行优化以取得更好的性能变得日益重要起来。

  如果优化的结果仅仅是极小的性能提升那真是浪费时间。试想一下,你花了好几个小时甚至几天调整Apache的各种参数但结果仅是几个百分点的性能提升?因此,在优化前你做的第一步应该是测试你目前的服务器的性能水平以便决定如何优化你的服务器并衡量优化的效果。

  关于对Apache的测试我们已经不是第一次提到了(见《冲出水面》一文),如同我们以前提到的,确定到底是哪一部分导致的瓶颈往往是一件困难的事,是因为Apache本身的设置问题还是由于你使用的动态网站程序环境?关于查找是否是因为网站程序引起的问题已经超出了本文的范围,这里我们主要讲一下提高Apache服务器速度的一些通常做法以及它如何与构成WEB网站的其它组件进行交互。

  主机硬件

  Apache所在的机器与操作系统环境是对性能影响最大因素,很明显,一以368的PC与一台P4或双处理器的机器不会有同样的性能。不过,如果不涉及硬件的改变,我们可以做的最大的事是首先看一下Apache是否运行在一台专用的服务器上,如果与其它应用共用一台服务器肯定会影响服务器的性能。

  在大多数情况下,告别是对静态网站而言,内存数量是一个影响性能的关键因素,因为它决定了Apache可以缓存多少内容。它缓存的内容越多,在硬盘上读取内容的机会就越少,而存取硬盘上的特定文件是一件很费时的操作。如果你的网站主要是一些静态内容,你最好使用mod_cache选项,如果你的内存足够大,可以使用mod_mem_cache选项。

  第一个选项将信息缓存在磁盘上,当它与mod_include选项一起使用时会有很好的效果,这个选项在建立一个页面时在缓存中保存它的最终版本。使用mod_mem_cache将缓存内容保存在一个可以被所有Apache进程共享的内存堆中。

  使用更快的磁盘或进一步使用RAID可以提高Apache对磁盘文件的访问速度。注意,如果你做了下面的所有这些优化,一个硬件的(而非软件)升级方案是更好的选择。最后一个谈到的关于硬件的问题是CPU能力,这对动态内容网站的影响很大,动态内容越多要求越高。

  主机环境

  不管是使用何种操作系统,下面这些原则都是适用的:

  ●尽可能减少非必要的后台运行的程序数目。如果你真的很关心服务器性能,你甚至可以关闭一些通常被认为是必要的后台服务。比如在UNIX下面,你可以关闭NFS服务,任何打印服务甚至邮件发送服务(如果不使用这些服务),在Windows系统下,使用控制面板优化系统和缓存,当然,对于必要的服务(如MySQL)仍然需要运行。

  ●避免使用系统。如果在服务器运行时你利用它进行其它工作(如编译软件,编辑文件或配置机器)你必将降低服务器提供的性能。如果你必须在上面安装一些组件,你可以在其它机器上编译好后拷备到服务器上。

  ●让你的系统组件维持在最新。虽然这主要是从安全角度的建议,不过软件补丁往往提供了网络和I/O方面的性能提升。

  Apache程序

  下面,就谈到Apache本身了。

  首先你确认一下是否Apache在编译时是否仅包含了你的网站需要的组件。这意味着,你可以忽略一些用不着的组件。这使它占用的内存更少,而且,它也表示你不用意外的激活一些选项降低服务器的性能。

  静态还是动态

  灵活性常是一些Apache管理员考虑的主要因素,但灵活性也有代价,使用动态载入模块非常方便,但它将导致性能下降,因为在需要时模块才会被载入。不过动态模块也有利于减少服务器对内存的需求。

  为了装Apache安装成静态模式,使用设置脚本定义你需要的模块,但是不要将它们定义为共享的(例如:使用--enable-rewrite而不要用--enable-rewrite=shared,也不要用共享选项--enable-so)。

  模块设置

  如果你使用Apacher的静态模式,你必须小心选项载入的模块,这是静态模式带来的一个开销--载入的模块越多,占用的内存越大,对于使用分叉多线程模型的程序这个效果更是明显。

  注意一些项目是被自动包含的,因此你需要显式的指定包含或禁用需要的模块。另外要记住如果需要包含进来一些如认证,PHP或mod_perl这样的第三方模块,你需要WEB服务(Web service),使用configure -help命令来查看可以使用的选项列表。

  服务器设置

  如果你的环境已经建立Apache也已经经过优化,就可以查看你的设置文件来进行下一步的优化措施。一个好的方法就是简化你的设置文件将文件中的指示(directives)减少到几百行内,首先是删除掉那些注释行,进而删除任何非必要的内容。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章