python - 随着 python/django/tastypie 的使用,apache 内存逐渐增加

标签 python django apache wsgi tastypie

在运行 django/tastypie 的 Apache 中,随着时间的推移,我的内存逐渐增加。流量确实增加了,但我预计内存会随着时间的推移逐渐减少。

<IfModule mpm_worker_module>
StartServers           6
MinSpareThreads       12
MaxSpareThreads       24
ThreadLimit           48
ThreadsPerChild       24
MaxClients            24
MaxRequestsPerChild    0
MaxMemFree          1024
</IfModule>

守护进程:

WSGIDaemonProcess www.domain.com processes=24 threads=24

New Relic 的报告

enter image description here

enter image description here

我的想法有问题吗?如果内存最终稳定下来并变为线性,我真的不在乎内存是否会随着时间的推移而释放,只要它永远不会超过某个阈值即可。我有两台负载平衡机器,它们都具有相同的设置并执行相同的操作。

除此之外一切都运行良好,而且速度超快。

谢谢, 标记

最佳答案

一天的运行时请求数量很少,因此很难判断您是否正在泄漏内存。对我来说,你的图表看起来很合理,但有很多变数,所以很难确定。

如果您担心泄漏,可以尝试使用 maximum-requests WSGIDaemonProcess 选项,用于在处理那么多请求后重新启动进程。

还有,你真的需要24个WSGI进程吗?每个都有自己的 python 解释器,因此随着时间的推移将消耗 24 * (1 python/django/tastypie 堆栈)。我建议进行负载测试并相应地减少进程数。另请查看 this post来自格雷厄姆·邓普尔顿。

关于python - 随着 python/django/tastypie 的使用,apache 内存逐渐增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133122/

相关文章:

python - 如果事件发生在某个时间窗口( future 或过去),则创建新的列

python - 简单LSTM模型: No attr named '_XlaCompile' in name error

javascript - 如何将 javascript 文件添加到 Django 中的 ModelForm?

python - Django 异常和响应代码列表

apache - apache 重启是否可靠地清除 pagespeed 缓存?

Python:如何根据特定元素拆分列表

Python-将文本文件放入字典中

javascript - 成功后如何切换选项卡

Apache 与 kerberos + mod_proxy + mod_rewrite 递归

apache - 如何在 Xampp 安装的 Windows 上的 Apache 中禁用 SSLv3