如何在Django

时间:2019-05-27 11:59:50

标签: django django-rest-framework monitor

我正在Google Cloud Platform上运行Django Rest Framework服务器。我大部分的要求是后期要求。我想分析哪个请求平均使用了多少内存和多少CPU。有没有一种分析方法?

我的API代码如下:

class GetAudioDialogue(APIView):

    def post(self, request):
        ...

1 个答案:

答案 0 :(得分:0)

我没有对此进行分析的经验,但是我发现了一些可能的选择。

使用psutil的自定义中间件

可以编写您自己的中间件,该中间件跟踪每个流程请求和响应的内存使用情况。可以在此StackOverflow - Question

中找到一个示例

Pympler

如其Github repo所述:

  

用于测量,监视和分析正在运行的Python应用程序中Python对象的内存行为的开发工具。

它提供了跟踪Django中的内存,跟踪类实例,单个对象等的方法。可以在相应的docs

中找到更多信息。

Valgrind

official website指出:

  

Valgrind是用于构建动态分析工具的仪器框架。有Valgrind工具可以自动检测许多内存管理和线程错误,并详细描述程序。您也可以使用Valgrind来构建新工具。

这需要一些设置。可以在此StackOverflow - Question

中找到有关如何为Python进行设置的信息