gpt4 book ai didi

python - Celery - 最小化内存消耗

转载 作者:太空狗 更新时间:2023-10-29 20:22:08 25 4
gpt4 key购买 nike

我们有约 300 个 celeryd 进程在 Ubuntu 10.4 64 位下运行,在空闲状态下每个进程占用约 19mb RES,约 174mb VIRT,因此 - 所有进程约有 6GB 的空闲 RAM。处于事件状态 - 进程最多占用 100mb 的 RES 和 ~300mb 的 VIRT

每个进程都使用了minidom(xml文件<500kb,结构简单)和urllib。

问题是 - 我们如何减少 RAM 消耗 - 至少对于空闲的工作人员来说,可能一些 celery 或 python 选项可能会有所帮助?如何判断哪个部分占用内存最多?

UPD: 那是航类搜索代理,一个机构/日期的一名工作人员。我们有 10 个机构,一个用户搜索 == 9 个日期,因此每个用户搜索有 10*9 个代理。

是否可以按需启动 celeryd 进程以避免空闲工作人员(类似于 apache 上的 MaxSpareServers)?

UPD2:代理生命周期是 - 发送 HTTP 请求,等待响应 ~10-20 秒,解析 xml(不到 0.02 秒),将结果保存到 MySQL

最佳答案

读这个:

http://docs.celeryproject.org/en/latest/userguide/workers.html#concurrency

听起来你每个 celeryd 都有一个 worker 。这似乎是错误的。每个 celeryd 应该有几十个 worker 。不断增加工作人员的数量(并减少 celeryd 的数量),直到您的系统非常繁忙且非常缓慢。

关于python - Celery - 最小化内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4346318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com