我正在Google Cloud Platform上运行Django Rest Framework服务器。我大部分的要求是后期要求。我想分析哪个请求平均使用了多少内存和多少CPU。有没有一种分析方法?
我的API代码如下:
class GetAudioDialogue(APIView):
def post(self, request):
...
答案 0 :(得分:0)
我没有对此进行分析的经验,但是我发现了一些可能的选择。
可以编写您自己的中间件,该中间件跟踪每个流程请求和响应的内存使用情况。可以在此StackOverflow - Question
中找到一个示例如其Github repo所述:
用于测量,监视和分析正在运行的Python应用程序中Python对象的内存行为的开发工具。
它提供了跟踪Django中的内存,跟踪类实例,单个对象等的方法。可以在相应的docs
中找到更多信息。Valgrind是用于构建动态分析工具的仪器框架。有Valgrind工具可以自动检测许多内存管理和线程错误,并详细描述程序。您也可以使用Valgrind来构建新工具。
这需要一些设置。可以在此StackOverflow - Question
中找到有关如何为Python进行设置的信息