根据请求,我们正在使用大量内存的单个apache进程出现问题,并且从不将它释放回主系统。由于这些请求可能随时发生,因此随着时间的推移,Web服务器被推送到交换中,即使对SSH也无法响应。更糟糕的是,在请求完成后,Python无法将内存释放回野生环境,导致数个500mb-1gb的Apache进程处于闲置状态。在mod_python中杀死单个Apache进程
我们每秒推送很少的请求,但每个请求都有可能非常大。
我想要做的是有一种方法来杀死一个单独的apache进程的孩子,如果它的驻留内存超过了一定的阈值,完成服务请求。我尝试了几种在mod_python中实际执行此操作的方法,但似乎任何形式的系统退出都会导致响应未完成到客户端。
在优化所有进程(我们真正想要避免的)时,除非发生这种情况,否则无论如何要告诉Apache在完成服务请求后任意地终止进程?所有想法都欢迎。
作为一个额外的警告,由于系统的传统特性,我们无法升级到更高版本的Python,所以我们无法利用改进的2.5内存性能。同样,我们坚持使用我们当前的操作系统。
版本: 系统:红帽企业4
的Apache:2.0.55
的Python:2.3.5
为什么要移动到一些不死的东西,比如mod_wsgi而不是一个选项? – 2011-02-23 19:36:30
时间限制主要。最终这就是计划,但是我们使用的框架需要一些真正的工作来迁移。我们希望黑客能够在这个版本中满足要求,并在接下来的版本中换出mod_python。 – Andrew 2011-02-23 19:55:17