Most large-scale enterprise applications are currently built using component-based middleware platforms such as J2EE or .NET. Developers leverage enterprise services provided by such platforms to speed up development and increase the robustness of their applications. In addition, using a component-oriented development model brings benefits such as increased reusability and flexibility in integrating with third-party systems.ududIn order to provide the required services, the application servers implementing the corresponding middleware specifications employ a complex run-time infrastructure that integrates with developer-written business logic. The resulting complexity of the execution environment in such systems makes it difficult for architects and developers to understand completely the implications of alternative design options over the resulting performance of the running system. They often make incorrect assumptions about the behaviour of the middleware, which may lead to design decisions that cause severe performance problems after the system has been deployed. This situation is aggravated by the fact that although application servers vary greatly in performance and capabilities, many advertise a similar set of features, making it difficult to choose the one that is the most appropriate for their task.ududThe thesis presents a methodology and tool for approaching performance management in enterprise component-based systems. By leveraging the component platform infrastructure, the described solution can nonintrusively instrument running applications and extract performance statistics. The use of component meta-data for target analysis, together with standards-based implementation strategies, ensures the complete portability of the instrumentation solution across different application servers. Based on this instrumentation infrastructure, a complete performance management framework including modelling and performance prediction is proposed.ududMost instrumentation solutions exhibit static behaviour by targeting a specified set of components. For long running applications, a constant overhead profile is undesirable and typically, such a solution would only be used for the duration of a performance audit, sacrificing the benefits of constantly observing a production system in favour of a reduced performance impact.ududThis is addressed in this thesis by proposing an adaptive approach to monitoring which uses execution models to target profiling operations dynamically on components that exhibit performance degradation; this ensures a negligible overhead when the target application performs as expected and a minimum impact when certain components under-perform.ududExperimental results obtained with the prototype tool demonstrate the feasibility of the approach in terms of induced overhead. The portable and extensible architecture yields a versatile and adaptive basic instrumentation facility for a variety of potential applications that need a flexible solution for monitoring long running enterprise applications.
展开▼
机译:当前,大多数大型企业应用程序都是使用基于组件的中间件平台(例如J2EE或.NET)构建的。开发人员利用由此类平台提供的企业服务来加快开发速度并提高其应用程序的健壮性。此外,使用面向组件的开发模型还具有诸如与第三方系统集成时提高可重用性和灵活性之类的好处。 ud ud为了提供所需的服务,实现相应中间件规范的应用服务器采用了复杂的运行环境,与开发人员编写的业务逻辑集成的时间基础架构。这种系统中执行环境的复杂性使架构师和开发人员难以完全理解替代设计方案对运行中系统性能的影响。他们经常对中间件的行为做出不正确的假设,这可能导致设计决策,这些决策在部署系统后会导致严重的性能问题。尽管应用服务器的性能和功能差异很大,但许多服务器却发布了类似的功能集,使得难以选择最适合其任务的功能这一事实使这种情况更加恶化。 ud ud本文提出了一种方法在企业基于组件的系统中进行绩效管理的工具。通过利用组件平台基础架构,所描述的解决方案可以非侵入性地对正在运行的应用程序进行检测并提取性能统计信息。使用组件元数据进行目标分析以及基于标准的实施策略,可确保仪表解决方案在不同应用服务器之间的完整可移植性。基于此仪器基础结构,提出了一个完整的性能管理框架,其中包括建模和性能预测。 ud ud大多数仪器解决方案通过针对一组指定的组件来展现静态行为。对于长时间运行的应用程序,不希望有恒定的开销配置文件,并且通常,这种解决方案只能在性能审核期间使用,从而牺牲了不断观察生产系统的好处,而降低了性能影响。本文通过提出一种自适应的监视方法来解决该问题,该方法使用执行模型将性能分析目标动态地针对性能下降的组件进行定位。当目标应用程序按预期方式运行时,这可以确保开销可忽略不计,而当某些组件的性能不佳时,则可以将影响降到最低。 ud ud使用原型工具获得的实验结果证明了该方法在诱导开销方面的可行性。便携式和可扩展的体系结构为各种潜在的应用程序提供了一种通用的自适应基础仪表工具,这些工具需要灵活的解决方案来监视长期运行的企业应用程序。
展开▼