【发布时间】:2016-07-18 02:54:18
【问题描述】:
我们的暂存服务器,AWS 上的一个 t2.micro 实例不断停机。在调查中,我们发现当manage.py migrate 运行时,CPU 使用率高达 99%。它很容易在本地机器上重现。我们正在运行 Django 1.9 和 postgresql 数据库。我现在不确定,是我们做错了什么还是注定要那样。我们在项目中有大约 18 个应用程序,但运行 migrate app_name 也会导致相同的行为。附上CPU使用率截图。
另外,我分析了迁移功能,这是一个图表:
【问题讨论】:
-
只是出于好奇,您是如何生成该图的?
-
@JasonEstibeiro:我使用了这个库:github.com/jrfonseca/gprof2dot
-
我真的很想知道您为什么要定期运行
migrate(这对我来说是这样的),而不是仅在部署之后并且仅在必要时才运行。跨度> -
@Risadinha:我们有
fabfile用于在服务器上部署代码的脚本。它的作用是从相应的分支中提取最新的代码——>运行迁移——>重新启动服务器(nginx,django服务器)。每当我们部署代码时,服务器使用率就会飙升,服务器会挂起。