繁体   English   中英

对Linux Bash脚本进行基准测试

[英]Benchmark a linux Bash script

有没有办法对bash脚本的性能进行基准测试? 该脚本下载远程文件,然后调用多个命令行程序进行操作。 我想知道(或尽可能多):

  • 总时间
    • 下载时间
    • 花在每个命令上的时间称为
    • - = [我认为这些可以包含在“时间”通话中吗? ] = -
  • 平均下载速度
    • 使用wget
  • 使用的总内存
  • 总CPU使用率
    • 每个命令调用的CPU使用率

我能够对bash脚本进行编辑,以插入特定点所需的任何基准命令(即应用程序调用之间)。 不确定一些“顶级”忍者是否可以解决这个问题。 在man文件中找不到任何有用的东西(至少是有限的理解)。

将在OSX终端以及Ubuntu上运行基准测试(如果有任何问题)。

strace -o trace -c -Ttt ./scrip
  1. -c用于跟踪cpu在特定调用上花费的时间。
  2. -Ttt将告诉您每次系统调用运行时的时间(以微秒为单位)。
  3. -o将输出保存在文件“trace”中。

你应该能够通过多种方式实现这一目标。 一种方法是为每个感兴趣的命令使用time内置函数并捕获结果。 您可能必须小心任何管道和重定向;

您也可以考虑捕获SIGCHLD,DEBUG,RETURN,ERR和EXIT信号并在其中放置时序信息,但您可能无法得到一些结果。

这个命令的CPU使用概念不会给你任何有用的东西,所有命令都使用100%的cpu。 内存使用是你可以提取的,但你应该看看

如果您想获得深入的流程统计信息,那么您可能希望使用strace ...有关详细信息,请参阅strace(1)手册页。 我怀疑-Ttt,因为它在其他地方的建议是有用的,所有这些都告诉你系统调用时间,你想要其他进程跟踪信息。

您可能还想查看ltrace和dstat工具。

这里有一个类似的问题Linux基准测试工具

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM