论文部分内容阅读
多层服务系统,由于其易扩展的特点,成为网络服务分布式系统的主流架构。近年来,随着互联网用户的激增以及新应用(包括社交网络、网络视频点播、应用引擎等)的不断推出,应用对多层服务系统的计算能力提出了更高的要求,因而系统规模越来越大。在这种情况之下,系统分析人员难以采用手动的方法获取系统的性能数据,以对系统进行分析评价。因此,系统分析人员需要通过相应的请求跟踪工具来观测用户请求和获取系统的性能数据,用以对系统进行评价,从而优化系统性能、降低硬件以及能源上的投入。
目前国内外研究机构所设计实现的请求跟踪工具中,大多数工具只能获取请求的延迟信息。目前只有微软研究院的Magpie等少数几个工具能够获取多层服务的请求资源消耗信息(我们称这类工具为请求资源消耗跟踪工具),但这些工具要求必须能够访问源代码,我们称之为白盒方法。本文主要探讨如何在采用黑盒方法(无法获得源代码)的情况下实现请求资源消耗跟踪。
本文主要有如下几点贡献:
1.设计并实现了一套多层服务系统请求跟踪工具正确性验证工具CorrectTracer。基于CorrectTracer,我们评价了两套分布式系统请求跟踪工具--我们自己开发的Precise Tracer以及WAP5的路径关联正确性。
2.设计并实现了多层服务系统请求资源消耗跟踪工具ResourceTracer。该工具采用黑盒方法,可自动采集和处理所感兴趣的系统事件,在单个请求层次汇总资源消耗信息,包含CPU,内存,磁盘和网络访问,并可输出相关的统计信息。
3.提出了一种方法,该方法可以在日志记录阶段有效缓解资源消耗跟踪所带来的海量日志问题。试验显示,可减少超过40%的日志记录。
4.以典型电子商务场景Benchmark--RUBiS应用为案例,利用ResourceTracer工具进行了负载分析,试验显示该工具能有效获取用户请求的资源消耗信息,且能够获取多层服务系统中每节点的性能特征及请求处理状况。