【问题标题】:How to monitor cpu usage and ram usage for each request in Django如何监控 Django 中每个请求的 cpu 使用率和 ram 使用率
【发布时间】:2019-10-13 00:07:49
【问题描述】:

我在 Google Cloud Platform 上运行 Django Rest Framework 服务器。我的大部分请求都是发布请求。我想分析哪个请求平均使用了多少内存和多少 CPU。有没有办法分析?

我的 API 代码如下所示:

class GetAudioDialogue(APIView):

    def post(self, request):
        ...

【问题讨论】:

    标签: django django-rest-framework monitor


    【解决方案1】:

    我没有分析此问题的经验,但我找到了一些可能的选择。

    使用 psutil 的自定义中间件

    您可以编写自己的中间件来跟踪每个进程请求和响应的内存使用情况。这方面的一个例子可以在这个StackOverflow - Question

    中找到

    皮普勒

    正如他们的Github repo 所说:

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

    它提供了在 Django 中跟踪内存、跟踪类实例、单个对象等的方法。更多信息可以在对应的docs找到

    Valgrind

    正如official website 所说:

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

    它需要一些设置。关于如何为 Python 设置它的信息可以在StackOverflow - Question

    中找到

    【讨论】:

    • 有没有办法在请求级别也测量 CPU 使用率?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多