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

2009-05-13 01:21:06来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

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

应用程序跟踪概述

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


清单1.跟踪pwd命令-bash-3.00$trusspwd...getcwd("/export/home/sean",1025)=0/export/home/seanwrite(1,"/export/home"..,18)=18_exit(0)

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

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

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

Apache配置的简要介绍

可以通过一个名为httpd.conf的文件对ApacheWeb服务器进行配置。清单2显示了一个简单配置中的部分内容。


清单2.示例httpd.conf
DocumentRoot"/var/apache/htdocs"<Directory/>OptionsFollowSymLinksAllowOverrideNone</Directory><Directory"/var/apache/htdocs">OptionsIndexesFollowSymLinksMultiViews</Directory>

第一行定义了在何处可以找到HTML文件。将所有的请求都映射到这个目录。如果请求/project/charter.html,将使用/var/apache/htdocs/project/charter.html提供该页面。httpd.conf中剩余的部分由两个Directory节组成。<Directory...>和</Directory>之间的任何内容都将应用于指定目录及其所有的子目录。在本例中,第一节将两项设置应用于根目录,而第二节则指向/var/apache/htdocs。

如果多个节应用于单个请求,那么将会对这些命令进行组合,并且最适合的目录具有高优先级。例如,将使用/var/apache/htdocs/project/charter.html提供/project/charter.html请求的页面。/var/apache/htdocs是/的子目录,所以OptionsIndexesFollowSymLinksMultiViews来自第二节,AllowOverrideNone来自第一节。

可以对许多内容进行配置,并且每项内容都具有其性能含义。本文余下的内容重点关注于如何对这些改变的影响进行量化分析。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VSFTPD服务器安装配置

下一篇:构筑LAMP框架之apache