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服务器并且系统的反应很慢,那么如下工作将很有用处:
这些应用提供给你该如何调整kernel的信息以及是否应该增加一些内存。下面是一个有很重负载的BSD服务器的kernel配置参数(实际是BSDI服务器,但是与FreeBSD和4.4-Lite相关),系统其他参数没有变化。
maxusers 256