【问题标题】:Benchmarking System performance of Python SystemPython 系统的基准测试系统性能
【发布时间】:2013-06-16 23:09:25
【问题描述】:

我正在考虑使用 inotify 来监视大约 200,000 个目录中的新文件。创建时,脚本监视将处理文件,然后将其删除。因为它是一个包含许多进程的更复杂系统的一部分,所以我想对此进行基准测试,并在运行测试时获取 cpu、内存、磁盘等的系统性能统计信息。

我计划将 inotify 脚本作为守护程序运行,并在几个目录中使用第二个脚本生成测试文件(在测试前随机选择)。

我正在寻求对此类性能进行基准测试的最佳方法的建议,尤其是它对运行它的 Linux 服务器的影响。

【问题讨论】:

    标签: python linux benchmarking inotify


    【解决方案1】:

    我会尝试删除尽可能多的其他流程,以获得可重复的基准。例如,我将设置一个单独的专用服务器,并将 NFS 挂载到目录。该服务器将只运行 inotify 和 Python 脚本。对于简单的服务器测量,我会使用top 或ps 来监控CPU 和内存。

    真正的考验是您的脚本“排空”目录的速度,这完全取决于您的流程。您可以分析脚本并查看它在哪里花费时间。

    【讨论】:

    • 我一直在考虑这样的事情,您的回答有助于验证这一点。我认为dstat 会比top 更好。 dstat 可以输出到文件,然后您可以将其转换为图形。我不确定ps 将如何帮助监控系统性能?你能解释更多吗?我用它来检查单个进程。
    • @EdwardWilliams:ps 如果进程正在等待磁盘 I/O(或交换),则将显示状态“D”,如果您的进程正在扫描目录,则很可能出现这种情况。它还可以显示您的进程正在使用的 % CPU 和 % 内存。如果您的进程不是磁盘绑定的并且 % 数字相对较低(例如,低于 50%),那么您的进程正在跟上负载。如果状态为“R”,那么它正在运行您的代码以尝试跟上。状态应为“S”,因为它在等待另一个文件时“休眠”。我之前没用过dstat。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多