科技行者

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

知识库

知识库 安全导航

至顶网软件频道基础软件调整服务器性能 FreeBSD 技术文摘

调整服务器性能 FreeBSD 技术文摘

  • 扫一扫
    分享文章到微信

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

调整Web服务器的性能,首先就要调整系统内核的性能,需要定制一个适合服务器要求的内核。此外,不要忘记使用egcc及更大的优化选项来编译Web服务器。

来源:早雪网 2008年5月20日

关键字: 技巧 操作系统 FreeBSD

  • 评论
  • 分享微博
  • 分享邮件
    前面介绍了Apache服务器的基本设置选项,通过调整这些设置,就能使Web服务器达到非常优秀的性能。此外,还可以调整操作系统的设置,包括重新定制整个系统,使之适合高负载的Web服务器。进一步,还可以利用Apache 提供的各种服务器技术,如FastCGI、PHP等,充分发挥Web服务器的作用。

  调整Web服务器的性能,首先就要调整系统内核的性能,需要定制一个适合服务器要求的内核。此外,不要忘记使用egcc及更大的优化选项来编译Web服务器。 

    单服务器性能调整

  由于Apache服务器具备高度的可配置性,因此通过调整其设置,可以极大的提升服务器的性能。对于Web 服务器,所面对的性能问题主要可以分为两个方面,一个为Web服务器提供静态网页的性能,另一个为产生动态网页时的性能。其中在产生动态网页时的性能下降是影响服务器性能的主要因素。

    使用新特性提升性能 

  为了改善产生动态网页时的性能,可以尝试使用Apache能提供的新特性来帮助解决性能问题。虽然CGI和SSI 都能用于产生动态网页,但都各具缺点。CGI需要每次都要启动一个进程,因此增加了运行服务器的负担,而SSI功能简单,不适合大部分需要。因此为了增加服务器的性能,Web服务器的开发者考虑了各种不同的技术,以提高服务器提供动态网页时的运行速度。增加产生动态网页的性能,可以从两个角度出发,一个基于原有的CGI程序,设法使得一个CGI进程能提供多次 CGI服务,而不必每次都重新产生进程,增加服务器负担,基于这种考虑的解决方式的代表为FastCGI,这是由OpenMarket 公司开发了一个基于CGI的新标准,一个FastCGI程序能驻留在系统中,和Web服务器通信,并多次回应CGI请求,而不必重新生成进程。 FastCGI程序与标准CGI程序非常类似,仅仅需要简单的修改原有的CGI 程序,就能支持FastCGI。FreeBSD下没有支持FastCGI的Port,因此要支持FastCGI就需要重新手工编译安装。

  另一个角度是从服务器端分析功能入手,既然SSI功能较弱,可以进一步在服务器内部提供更复杂的功能,PHP 就是一个代表,PHP具备丰富的数据库支持能力,因此非常流行。然而PHP却有相应的Port支持,因此可以使用 Ports Collection轻松安装PHP,同时这个Port还支持和mod_ssl相集成,可以通过选择同时集成 php3和mod_ssl。需要注意的是在安装之前仍然需要清除原有设置文件,以免带来不必要的麻烦。

  Apache-PHP3具备一个预编译好的二进制软件包,如果不想重新编译Apache,可以直接使用这个软件包。要建立一个复杂的网站,至少要使用这个预编译好的软件包,以提供高效率的动态网页支持。

  此外,由于CGI程序使用Perl编程的非常之多,因而一个非常有意义的作法为将perl解释器和Apache 集成在一起,这样在执行perl程序时就不需要重新载入Perl解释器了,这样同样也能数倍提高服务器的效率。支持集成perl到Apache中的模块为 mod_perl,它充分发挥了perl的强大功能。在这种方式下,不但可以直接执行perl编写的CGI程序,还可以在嵌入perl语句,甚至使用 perl控制Apache服务器的行为,包括使用perl来编写Apache的内部功能处理模块。mod_perl同样也没有Port Collection支持,需要自己下载软件重新编译Apache。

  FastCGI、PHP3和嵌入的perl只是在Apache服务器上最流行的几种新特性,使用它们可以非常高效的完成动态网页的生成。这些新特性对于建立一个高负载的站点是必需的。但是,也没有必要同时都提供支持,不同的使用者会喜欢使用不同的动态网页生成方式。其中PHP3的安装和设置非常简单,它又是服务器端分析方式,因此是在做新站点时的首选方式。而如果有大量原有的CGI程序需要继承,就可以选择FastCGI,perl的忠实拥护者则会选择 modperl。 

    调整系统设置
 
  由于Apache服务器是采用传统的生成子进程的方式来提供服务的形式,这种形式比较适合服务比较复杂的情况,但性能却没有单进程的服务器高,尤其在高负载的情况下更是如此。一些使用单进程的Web服务器,都其声称提供静态网页的速度为Apache服务器的几倍,例如能通过Ports Collection安装的boa,或者另一个非常简单的服务器thttpd,它们提供静态网页的速度的确是Apache服务器无法与之相比的。当然,这些服务器除了因为其是单进程的服务,效率较高之外,还因为这些服务器没有提供复杂的特性,包括安全认证等,例如安全认证就需要Web服务器读取其上面各级目录的访问许可,这些额外的文件操作会明显降低服务器的效率。然而,由于执行CGI处理时,服务器都必须启动外部进程,这些简易的服务器就不再具备什么优势了。因此,如果使用者仅仅是想提供简易的静态网页服务,完全可以不必使用Apache服务器,单进程服务器性能更好,但使用者也无法利用Apache服务器提供的各种优秀特性了。然而,即使是使用Apache服务器,对提高效率也提供了很多设置参数,如果能将这些参数调整的合适,就能进一步提高服务器的性能,缩小与单进程服务器性能的差别。

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

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

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