apache内存报死 晴

jed , 2007-2-6 16:41 , 服务器技术 , 评论(0) , 阅读(7537) , Via 本站原创

apache进程在使用内存时,是“渐长”的。也就是说,直到这个进程死掉,使用内存的数量是一直增长而不会减少的。这样的话,apache进程使用内存的多少,就决定于你的应用程序最大使用内存量了。

keepalive参数
KeepAliveTimeout 这个参数决定了,在什么都不做之前,一个http进程能够等待多长时间?设想一下,如果keepalive设置为on,而 keepalivetimeout设置为一个比较大的数字,apache占用内存会很快的增长。这是因为,一个apache进程完成了一个任务(并达到了一定的内存占用,想一下“渐进”模式),并不会马上退出,而是等待一个keepalivetimeout时间。假设用户的链接请求持续不断的到来,则积累起来的无用的apache进程就会相当多,直到timeout,这些进程才会被杀死。
但是,keepalive的确对于静态的文件,比如图像文件的传送是很有效的,因此,keepalive要设置为on,但是keepalvietimeout要设置的小些,比如5s
硬件上的考虑

其实起50%的作用,当然是越快越好。如果不知道哪个快,就换成越贵越好。可实际上不可能做到这些,因为银子有限,所以按照这个顺序考虑:内存越大越好- >硬盘SCSI好于SATA->CPU越快越好。下面是一个比较极端的高级配置(指运行MySQL数据库级别的网站,想克隆ebay的去扎风投然后买曙光好了):

Dual Xeon 3.x  + 4G RAM + SCSI的集群做MySQL服务器,Dual Xeon 3.x  + 4G RAM + SCSI 做HTTP。

下面是一个更为靠普的推荐配置:

Dual Xeon 3.x  + 4G RAM + SCSI做MySQL+HTTP的单机服务器

而下面这个也是更为广泛的配置:

Dual Xeon 3.x  + 2G RAM + SATA做MySQL+HTTP的单机服务器。对于这种情况需要用心优化了。

记住,当有更多预算时,首先考虑的是内存,其次是高速硬盘和RAID,最后才是CPU。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]