django 在AWS EC2上使用100% CPU使用率的Celery

myzjeezk  于 2023-03-04  发布在  Go
关注(0)|答案(1)|浏览(307)

我有一个运行在Linux 2/3.4.0 EC2示例上的Web应用程序,该示例部署缓慢(eb部署),页面加载时间很长。
当我将eb ssh导入示例时,我运行top并看到两个celery示例,每个示例占用45-60%的CPU使用率。

roejwanj

roejwanj1#

我签入/var/logs/并运行ls -alt以获得最近写入日志的列表。这提供了celery_worker.stdout.logcelery_beat.stdout.log,它们几乎位于列表的顶部。当我运行sudo vi celery_worker.stdout.logcelery_beat.stdout.log时,我看到错误ImportError: The curl client requires the pycurl library.
我能够使用cd /var/app并使用source venv/staging-LQM1lest/bin/activate进入我的虚拟环境。
当我尝试使用pip install pycurl时,出现了依赖性错误,必须使用sudo yum install libcurl-develsudo yum install -y openssl-devel
然后我就可以
一旦安装了pycurl,日志就停止写入,并且celery不再消耗CPU使用
TLDR:

  1. ssh到你的celery 示例w/:eb ssh
    1.运行顶部w/:top以查看哪些进程正在占用您的CPU
    1.找到他们的日志
    1.解决问题

相关问题