BSD上Apache性能的调整

发表于:2007-06-08来源:作者:点击数: 标签:
FreeBSD是一个 性能 稳定的免费操作系统,当前很多的商业网站使用在FreeBSD上的Apache来搭建Web 服务器 平台。在FreeBSD上,Apache的运行性能受到很多因素的影响,本文将介绍如何调整Apache的性能,使你的Web服务器运行的更好。 和其他操作系统一样,监听队

FreeBSD是一个性能稳定的免费操作系统,当前很多的商业网站使用在FreeBSD上的Apache来搭建Web服务器平台。在FreeBSD上,Apache的运行性能受到很多因素的影响,本文将介绍如何调整Apache的性能,使你的Web服务器运行的更好。

  和其他操作系统一样,监听队列(listen queue)是首要限制条件。下面是Aaron Gifford 对BSDI 1.x,2.x和FreeBSD 2.0(包括旧版本)上的建议。

  编辑下面两个文件:

/usr/include/sys/socket.h
/usr/src/sys/sys/socket.h

  在每个文件中,搜寻:

/*
* Maximum queue length specifiable by listen.
*/
#define SOMAXCONN 5

  将5修改为任何可以工作的值即可。经测试调整到32是不会有什么问题的。修改后,重新编译kernel和Apache Server然后重新启动。 FreeBSD 2.1在SOMAXCONN设置为32时工作的非常好。

  如果正运行着一个非常繁忙的BSD Apache服务器并且系统的反应很慢,那么如下工作将很有用处:

  • 运行vmstat检查内存使用情况、page/swap利用率等;
  • .netstat -m检查mbuf使用情况;
  • 运行fstat检查文件描述符使用情况;

  这些应用提供给你该如何调整kernel的信息以及是否应该增加一些内存。下面是一个有很重负载的BSD服务器的kernel配置参数(实际是BSDI服务器,但是与FreeBSD和4.4-Lite相关),系统其他参数没有变化。

  maxusers 256


原文转自:http://www.ltesting.net