【问题标题】:Performance monitoring all layers of a system性能监控系统的所有层
【发布时间】:2011-08-31 18:05:02
【问题描述】:

我使用几种负载测试工具(Loadrunner、JMeter、NeoLoad)来测试不同应用程序的性能。例如,我想知道是否可以监视应用程序堆栈的所有层。假设我有以下数据链。

负载均衡器 应用程序服务器 RMI Java 应用程序 MQ 旧版应用程序 数据库

我在我有兴趣监控的链中标记了x,例如平均响应时间。

显然,我们可以简单地在所有端点上创建一个包装器,它会为我们收集统计信息,也许我们可以将它导入到 loadrunner 或其他负载测试工具中,并使用工具内置的性能统计信息,但也许有工具/应用程序可以已经这样做了吗?

如果没有,我们应该如何进行,以收集此类统计信息?

【问题讨论】:

    标签: performance jmeter performance-testing loadrunner


    【解决方案1】:

    我过去曾以多种方式处理过这种分解。第一种是在非常低的级别使用协议分析器转储数据来查找对话离开 X 层并进入 Y 层的时间点。第二种方法是通过对各个层使用日志检查。在这种情况下,可以使您的检查非常有用的是所有组件(syslog、Rsyslog 等)的通用日志服务器和一个不错的日志解析工具,例如免费提供的 Microsoft Logparser。第三种方法利用存储在数据库中的应用程序的审计跟踪。在处理具有消费者/生产者模型和传递信息而不是直接连接的总线的企业服务总线样式应用程序时,您可能会发现这一点。我看到的审计跟踪通常存储在数据库中,并允许通过整个应用程序基础设施跟踪单个事务。您的负载均衡器,作为一种网络设备,可能不适合这个设备。

    注意,如果您使用协议分析器或日志路由,请确保将所有源信息设备同步到公共时间服务器。当您进入分析阶段时,根据时间戳关闭您的某个收集器(分析器、应用程序日志)确实是一种令人毛骨悚然的体验。

    关于如何从收集的数据转移到 LoadRunner,这部分是非常机械的。 Analysis 程序支持导入外部数据点的接口。格式非常具体,并记录在帮助和在线文档中。此导入过程运行良好,因为我经常不得不使用它从我没有直接监控访问权限的主机收集统计信息,但需要将其作为受监控测试基础架构的一部分包含在内。

    詹姆斯·普利

    版主(YahooGroups LoadRunner、Advanced-LoadRunner;GoogleGroups lr-LoadRunner;Linkedin LoadRunner、LoadRunnerByTheHour;SQAForums LoadRunner、WinRunner)

    【讨论】:

      【解决方案2】:

      这个标准应该是Application Response Measurement (ARM)。这是一组跨语言的 API,可以满足您的需求。问题在于,实现该规范的产品都往往是大型、昂贵的“企业”级监控工具。想想多周安装、顾问、更多基础设施和大量流行语。

      不过,如果这是一款具有关键任务预算的关键任务应用程序,那么这可能就是您所需要的。但是您也许可以构建自己的,而无需太多努力就足够了。如果您仍想使用该 API,快速搜索至少会找到一个 open source ARM implementation。

      另一种选择是简单地让您可以针对系统的每一层运行事务以检查总体响应能力。例如,你可以在 LB 上有一个静态网页,在应用服务器上有一个 no-op tx,在 Java 应用上有一个“hello”servlet,将消息直接放在队列中等等。在性能/负载测试期间,这些可以由负载测试工具直接命中,或者您可以编写一个包装器 servlet/应用程序调用,将其作为单个 HTTP(RMI?)调用来执行。每分钟运行几次这些不会给系统增加太多负载,但它应该可以帮助您确定哪个层较慢。这种方法的好处是它也适用于生产环境,只需注意安全问题。

      对于单用户类型的测试,你知道你有问题(例如,这个 tx 是“慢”),我在网络跟踪方面也很幸运。这很乏味,但是当您不确定哪一层很慢时,在几台机器上启动网络跟踪并运行单个 tx 通常可以很好地了解系统在做什么。

      【讨论】:

        猜你喜欢
        • 2013-11-24
        • 1970-01-01
        • 1970-01-01
        • 2019-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多