烧瓶应用程序-100%的内存和CPU消耗

时间:2019-10-26 01:52:43

标签: python flask sqlalchemy flask-sqlalchemy flask-restless

在我的flask应用程序中,对于一个API调用,我们观察到非常高的内存和cpu消耗了几乎100%的CPU和内存。我们正在使用flask-rest-json api包。在我们的模型中,我们有很多表,例如

表A-父级 表B-A的子代(表ID为FK) 表C-B的子级(表C id为FK)--->很高的内存/ CPU

除了上面的表,我们还有许多其他相关的表(parent-child)。

表A类似于包含许多视频(表B)和许多图像(表C)的录制会话。因此,对于30分钟的录制会话,我们有30个视频片段,然后是30 * 30 = 900张图像。

我们已经使用db.relationship在表之间创建了关系,因此我们也可以使用过滤器操作。

一旦我们触发具有较高cpu /内存使用率的url,wsgi进程就会杀死它自己,然后重新启动。

请让我知道调试此问题。我们怀疑数据库关系存在问题。

1 个答案:

答案 0 :(得分:0)

您是否将视频数据作为BLOB直接存储在数据库中?别。 如果是这样,只需将视频作为单独的文件存储在文件夹中,并将视频的路径存储在数据库中即可。

如果您没有真正说出端点在做什么,则无济于事。复杂的关系可能不是您的问题。