WEB开发网
开发学院操作系统Linux/Unix 使用应用程序跟踪对性能改变进行量化分析 阅读

使用应用程序跟踪对性能改变进行量化分析

 2006-08-26 08:12:12 来源:WEB开发网   
核心提示:使用 Apache Web 服务器作为示例,以了解如何分析公共配置的性能含义,使用应用程序跟踪对性能改变进行量化分析,使用应用程序跟踪来观察应用程序运行过程中进行的系统调用,通过统计调用的次数和发生的时间,但它演示了通过应用程序跟踪可以观察程序内部机制的程度,有关跟踪方面更深入的信息,您可以轻松地了解性能改变的影响,您

使用 Apache Web 服务器作为示例,以了解如何分析公共配置的性能含义。使用应用程序跟踪来观察应用程序运行过程中进行的系统调用。通过统计调用的次数和发生的时间,您可以轻松地了解性能改变的影响。

您可以对应用程序进行跟踪,以找出它们暂停或不运行的原因。并且可以使用同样的方法,了解更多关于应用程序的信息并理解某些配置的性能含义。因为 Apache 非常流行并且大多数读者对它都比较熟悉,所以本文使用 Apache 作为示例。Apache 所进行的每次系统调用都会对 Web 页面的提供带来延迟,通过跟踪不同配置下的 Web 服务器,您可以确定具体配置的影响。

应用程序跟踪概述

在应用程序的执行过程中,当需要打开文件、发送数据包或者使用系统资源时,它会对基础操作系统进行相应的系统调用。跟踪应用程序意味着可以在调用发生时观察到这些系统调用,这将使得您能够深入地了解该应用程序的行为。在 Solaris 和 IBM AIX® 操作系统 (AIX) 中,使用 truss 命令完成这项任务,而在 Linux® 中则使用 strace。清单 1 显示了对 pwd 命令进行跟踪的示例。

清单 1. 跟踪 pwd 命令

-bash-3.00$ truss pwd
...
getcwd("/export/home/sean", 1025)        = 0
/export/home/sean
write(1, " / e x p o r t / h o m e".., 18)   = 18
_exit(0)

在删除开始处与加载该应用程序相关的输出内容后,您可以看到所进行的三次系统调用:

  1. getcwd 返回当前工作目录。输出内容中显示了字符串“/export/home/sean”返回到缓冲区。
  2. write 可以显示给定的字符串。因为在其执行之后才显示这个系统调用,所以先输出了它的执行结果。还可以注意到,write 系统调用的结果是写入字符的个数数目,在这个示例中为 17 加上一个回车。
  3. _exit 使用错误代码 0 退出该程序,这个错误代码通常表示成功结束。

尽管这是一个很简单的示例,但它演示了通过应用程序跟踪可以观察程序内部机制的程度。有关跟踪方面更深入的信息,请参见参考资料部分。

1 2 3 4 5 6  下一页

Tags:使用 应用程序 跟踪

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接