Python 系统的基准测试系统性能

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

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

以上是关于Python 系统的基准测试系统性能的主要内容,如果未能解决你的问题,请参考以下文章

Mysql基准测试

性能基准自动化测试

高性能MySQL读书笔记--MySQL基准测试

什么是mysql基准测试

高性能MySQL:运行基准测试并分析结果

PCMark 10( PC基准性能测试工具 )中文版分享