mon*_*ndo 8 linux bash benchmarking
有没有办法对bash脚本的性能进行基准测试?该脚本下载远程文件,然后调用多个命令行程序进行操作.我想知道(或尽可能多):
我能够对bash脚本进行编辑,以插入特定点(即应用程序调用之间)所需的任何基准命令.不确定一些"顶级"忍者是否可以解决这个问题.在man文件中找不到任何有用的东西(至少是有限的理解).
将在OSX终端以及Ubuntu上运行基准测试(如果有任何问题).
小智 18
strace -o trace -c -Ttt ./scrip
Run Code Online (Sandbox Code Playgroud)
-c 是跟踪cpu在特定呼叫上花费的时间.-Ttt 会告诉你每次系统调用运行时的微秒时间.-o 将输出保存在文件"trace"中.您应该能够通过多种方式实现这一目标。一种方法是对每个感兴趣的命令使用time内置函数并捕获结果。您可能必须小心任何管道和重定向;
您还可以考虑捕获 SIGCHLD、DEBUG、RETURN、ERR 和 EXIT 信号并将计时信息放入其中,但您可能不会得到一些结果。
每个命令的 CPU 使用情况的概念不会给您任何有用的东西,所有命令都使用 100% 的 cpu。内存使用情况是您可以提取的内容,但您应该查看
如果您想获得深层进程统计信息,那么您需要使用 strace...有关详细信息,请参阅 strace(1) 手册页。我怀疑 -Ttt 正如其他地方所建议的那样有用,它告诉您是系统调用时间并且您需要其他进程跟踪信息。
您可能还想查看 ltrace 和 dstat 工具。
Linux 基准测试工具回答了类似的问题