Continuous Application Performance for Enterprise.NET Systems

Size: px
Start display at page:

Download "Continuous Application Performance for Enterprise.NET Systems"

Transcription

1 Continuous Application Performance for Enterprise.NET Systems Implementing Application Performance Management in Development, Continuous Integration, Test and Production

2 Contents EXECUTIVE SUMMARY... 1 CONTINUOUS APPLICATION PERFORMANCE MANAGEMENT... 2 THE DYNATRACE CONTINUOUS APM INFRASTRUCTURE... 3 WHY PERFORMANCE PROBLEMS LEAVE DEVELOPMENT?... 4 EXTENDING VISUAL STUDIO WITH DEEP CROSS-TIER TRANSACTION TRACING... 5 WHY PERFORMANCE PROBLEMS LEAVE CONTINUOUS INTEGRATION UNDETECTED?... 7 EXTENDING CI TESTS WITH CODE-LEVEL DIAGNOSTICS... 8 WHY IS PERFORMANCE TESTING COSTLY AND PAINFUL? EXTENDING LOAD TESTS WITH CODE-LEVEL DIAGNOSTICS WHY DOES PROBLEM RESOLUTION IN PRODUCTION TAKE SO LONG? EXTENDING MONITORING WITH CODE-LEVEL TRANSACTION TRACING CONCLUSION >> rapidly resolve performance problems in distributed java &.net applications 1

3 Executive Summary As businesses depend more and more on applications, as the economic climate becomes harsher demanding companies to do more with less, and as the technological environment rapidly changes, IT is continuously forced to deliver high application performance with only minimal resources. The rise of.net has further added to this pressure on IT by creating a framework and environment for rapid application development that is not fully transparent to the developer writing code upon it. ASP.NET and SharePoint enable the speedy development of web-based applications, but contain inherent performance limitations if code is not carefully architected with these limitations in mind. Technologies such as.net Remoting and Web Services allow for highly-distributed application designs, but can result in significant performance degradation when released into the wild of a distributed production environment. Finally, while individual databases may be tuned perfectly, improperly constructed statements and calls via ADO.NET and SharePoint can result in sluggish performance as multiple redundant calls are repeatedly made to the database. As business stakeholders depend more and more on applications, and development is pulled in more frequently to firefight complex application issues, they also require insight into application performance from live production environments. Additionally, numerous studies have demonstrated that software defects found later in the application lifecycle are exponentially more expensive than those found earlier. Finding such defects earlier in the lifecycle and resolving them quickly when they do appear in production, however, is easier said than done. To master these challenges, IT needs a way to strategically implement Application Performance Management across the entire software lifecycle, while providing each stakeholder in development, test, production and the business with the information they need for efficient collaboration to proactively prevent performance issues and quickly resolve those issues that do occur later. This is the premise of dynatrace s system for Continuous Application Performance Management. It is a single solution that works across the entire application lifecycle uniting production and staging to development and test with common data the PurePath that can be easily understood and shared by all. Just as important, it can be used at whatever granularity of detail most appropriate to each specific lifecycle stakeholder: whether high-level business-transaction dashboards for business and production or deep-dive code-level detail for architects and developers. Finally, dynatrace integrates with Microsoft technologies in every stage of the lifecycle, enabling enterprises to leverage existing investments and enhance them to make performance an essential part of the application lifecycle. Continuous Application Performance for Enterprise.NET Systems 1

4 Continuous Application Performance Management IT staff face unprecedented pressure from all sides: the business depends more and more on the applications they produce; the current economy dictates that they must find a way to continuously improve those applications while at the same time reduce costs; and to top it off, the application landscape is in a period of rapid change, with increasing complexity as infrastructures become more dynamic through virtualization, and globally-distributed through service-oriented architectures. Application Performance Management has for years been viewed simply as monitoring production applications through providing statistical/aggregated performance metrics. In today s complex environment, however, this traditional view no longer suffices. As business stakeholders depend more and more on applications, and development is pulled in more frequently to firefight complex application issues, both require insights into application performance from live production environments. Also, as software projects involve more and more complex technologies, and defects found later in the application lifecycle are exponentially more expensive than those found earlier, it is also critical to find and resolve them as early as possible to keep projects within time and budget constraints. As traditional APM only targets production operations teams, it is not able to satisfy the new requirements of stakeholders across the lifecycle. Traditional APM provides limited visibility into the business impact of performance issues that root from inside the application. It just shows the symptoms surfacing on end-user level, or may point out a problem in an application component, but it can t connect the two. This lack of visibility gave rise to business management solutions; however, such solutions are not integrated with traditional monitoring, and thus fail to provide management with a holistic view of their applications. Further, traditional APM has also failed to provide accurate insight into the dynamic behavior of production applications insight that is vital so development gets what they need to fix issues quickly. Production monitoring rarely delivered the required deep insight into application performance and transaction processing to resolve performance problems that occurred in production. Due to lack of proper diagnosis data, trial-and-error-based reconstruction of production problems was necessary to gather the data required for root cause analysis back in development. This not only led to a lot of guesswork, but to high costs, wasted time and inefficient performance management. Finally, traditional APM tools are not designed to support performance management early in the application lifecycle. Development and test teams have been left without proper tool support to strategically implement application performance management. This leads to only tactical usage of performance tools such as code profilers in development. Many problems that could have been found early stay undiscovered and iterations between QA and development increase, because it was difficult to precisely track down problems encountered in load testing. The intense pressures facing IT, combined with the limitations of traditional APM necessitated a new approach to overcome its limitations. The major characteristics of this new paradigm what refer to as Continuous Application Performance Management are: Provide an integrated lifecycle approach that supports strategic performance management in all phases of the application lifecycle. Trace individual transactions down to code level across server boundaries, rather than providing aggregated values. Stakeholder-driven visualization of data, according to their specific information needs. Integration interface automate performance management processes across the lifecycle. Dynamic runtime detection, application discovery, and mapping of application dependencies for managing virtualized, complex infrastructures. Continuous APM is a unique, new approach to performance management, fulfilling these requirements and supporting a wide variety of usage scenarios in development, test and production. Continuous Application Performance for Enterprise.NET Systems 2

5 The dynatrace Continuous APM Infrastructure The dynatrace infrastructure fulfills the new requirements of this shift to more proactive performance management across the application lifecycle. It is the core enabling technology for Continuous Application Performance Management, and provides the following two unique characteristics which are possible with its unique architecture: Patent-pending PurePath technology global end to end transaction tracing at code-level Single integrated system supporting the entire lifecycle custom views for all stakeholders PurePath Technology PurePath globally traces business transactions end-to-end, down to code-level and back. It makes transparent the inner workings of.net and Java applications, visualizing application dependencies and models, automating issue documentation and isolation, eliminating the need for issue reproduction, as well as reducing problem diagnostics and resolution times to minutes. Its unique characteristics are: Tracing individual transactions Business-level to code-level drill-down End-to-end across globally distributed tiers Low overhead, small footprint on target servers Real-time and offline root-cause analysis Integrated lifecycle system with custom views for all stakeholders dynatrace provides custom views for all lifecycle stakeholders against a common dataset (PurePath) and enables the reuse of common working assets (e.g., instrumentation profiles for PurePath transaction tracing or dashboards to quickly provide reporting a problem back to development) across the lifecycle. This way, dynatrace enables cooperation instead of blame-storming between development, test and production teams. Also, dynatrace provides APM not only for 24x7 production operations, but also enables you to efficiently manage application performance early on in development and test, where problems are much less expensive to fix than in production. dynatrace architecture enabling Continuous APM dynatrace, built on a scalable and extensible architecture, enables global PurePath transaction tracing to be always- on whether during continuous integration, high-scale load testing or 24x7 production operations. Lightweight agents are used to collect data from within the application through IL Code Sensors. The dynatrace Agents do not accumulate any data, but instead all diagnosis data is sent asynchronously and in real-time to the dynatrace Server, which constructs the distributed PurePaths. The dynatrace Collector is optional and removes instrumentation burden from the dynatrace Server, providing high-scalability, and enabling dynatrace to trace transactions even globally across WAN environments. Open interfaces allow easy integrations into existing environments, such as Continuous Integration, load testing, or enterprise management systems. Plus, you can easily extend dynatrace with custom instrumentation sensors and OSGi-based open source plugins, such as monitors, actions or notifications which you can share and download from the dynatrace Community Portal. Simply customize and deploy them using the Rapid Plugin Development Environment and you re at a new level of monitoring. Continuous Application Performance for Enterprise.NET Systems 3 Clients IL Code Sensors Internet PurePath dynatrace Agent Web Servers Internet Application Servers Internet dynatrace Server dynatrace Clients with Custom Dashboards Web Services dynatrace Collector Mainframe Database Systems

6 Why Performance Problems Leave Development? We ve already come a long way on our journey to make software development an engineering discipline. Thanks to recent adoptions of agile development principles we find more and more development teams doing Test Driven Development, Pair Programming, Daily Stand-ups, and Continuous Integration The missing focus on performance during the development phase of a software project, however, leads to software that is more often delivered on time (thanks to agile development) but that does not always fulfill the performance requirements that should have been set and monitored throughout each iteration. When confronting the development team with the first results of load and performance tests it s very likely to get the following feedback: Our Unit Tests were all green and we executed them on every build Everything ran perfectly fine on my local machine I even executed some load Everybody on the Online-Forums of the 3 rd Party Framework we use seemed to have good experience with performance Status quo in development Unit Tests only verify the functionality of the tested code but do not take performance, scalability or architecture into account. Tests do not have the visibility into the used frameworks or external services and therefore lack in verifying architectural correctness. Local Performance Tests on the developer s machine are either not done at all or done within an unrealistic environment. Sample data, locally deployed components or mocked services are not enough to find performance problems with the tools that are available on the developer s desktop. Free or commercially available 3 rd party frameworks for data access, caching or rendering are most often not correctly used or do not fulfill performance requirements. Due to the lack of visibility into the frameworks and the lack of knowledge of these frameworks, performance problems get into the application through the back door. Accessing Data either from a database or via remoting protocols is often done inefficiently without knowing about it. Requesting too much data or too often is a problem that usually does not manifest itself on the local developers machine as e.g.: latency on the network is not going to be an issue. What we require in development Getting Insight into Application or 3 rd Party Frameworks like ASP.NET, SharePoint, ASP.NET MVC or NHibernate is essential in order to use these frameworks in the most efficient and high-performing way. Otherwise it would be like driving a Porsche in 1 st gear because you don t know that there are 5 more. With gained insight into the application it s possible to verify architecture and analyze dynamics such as Database Access: which, how often and with which parameters are SQL statements executed? Remoting: which, how often and how much data is transferred when executing remoting calls? Memory Usage: which, how many instances and how much memory is used by critical objects? Automating the diagnostic steps and integrating it into the development process enables Unit Tests not only to test functionality but also verify the underlying architecture Local Performance tests to reveal architectural and scalability issues even in a limited environment Better understanding and usage of application and 3 rd party frameworks The more visibility gained in development to verify architecture before moving on to test, the fewer the errors passed on reducing costly iterations, and making the entire development process more efficient. Continuous Application Performance for Enterprise.NET Systems 4

7 Extending Visual Studio with Deep Cross-Tier Transaction Tracing The Visual Studio Suite for Developers offers a great set of features to support developers in writing code, designing UI s, writing Unit and Integration Tests, doing refactoring, debugging and profiling. Automate performance analysis Visual Studio comes with a great debugger to debug both managed and unmanaged code. The profiler is able to provide instrumented data (= transaction traces) or sampling based profiling information of local applications within a single CLR. Debugging and profiling can be used to analyze performance but both come with a price. Debugging impacts the execution behavior of your application threads are synchronized and it is not possible to debug through 3 rd party code unless you have the debugging information and symbols. Due to the high overhead of instrumentation-based profiling caused by its deep granularity, the application execution behavior changes dramatically and therefore is often not showing the performance issues that are buried in the application. Sampling-based profiling on the other hand gives average values and is much less heavy, but often misses the essential pieces of information. dynatrace seamlessly integrates into Visual Studio providing diagnostics information not only for a single process but enables cross tier and cross runtime tracing of transactions. Due to its rule-based instrumentation and its unique architecture, dynatrace is able to collect granular information for each individual transaction instead of averages providing deep diagnostic information without impacting application execution behavior. Dynamic code analysis and architecture validation Dynamically analyze Database and Remoting Activity Launch from VSTS and get Execution Path with Context Information for every request Microsoft offers FxCop which can be used as a standalone application or integrated into Visual Studio. FxCop offers static code analysis based on compiled assemblies. It verifies code based on pre-defined rules which can be extended with additional rule sets. With the trend towards loosely coupled components and service oriented architectures static code analysis is only one part of ensuring proper coding. dynatrace enables dynamic code analysis and runtime modeling across runtime and service boundaries. With this ability, application and service architectures can be verified based on real time execution rather than static analysis. Runtime Models visualized in UML Dynamic analysis also enables capturing database, web service and remoting activity. SQL Statements including bind variables, Web Service endpoints including HTTP headers and message context, remoting calls over TCP/IP, Named Pipes or Shared Memory can be analyzed while executing requests against the implemented code. Runtime error analysis Visual Studio enables you to break into code execution once certain exceptions are thrown and debug exception handling from the current execution stack. Most often exceptions are handled internally by frameworks and either never bubble up (thus you can t debug the exception handling) or bubble up without the context information about the actual problem that originally caused the exception. Continuous Application Performance for Enterprise.NET Systems 5

8 dynatrace enables tracing every exception whether caught or not caught, handled or rethrown. This enables developers to better understand why certain errors happen or how certain situations are handled by the frameworks used. Example: ASP.NET data bound controls The ASP.NET Framework, Microsoft SharePoint and other 3 rd party frameworks provide a huge set of data bound GUI controls. The integration of these frameworks into Visual Studio makes it easy for developers to leverage the WYSIWYG approach by dropping controls on the HTML page and binding it to a SQL, LINQ or Data Service source. MSUnit or NUnit tests can be developed to verify that the data source in fact returns the correct data and that any on-top service is doing the right job for e.g.: calculated result columns. However, as the dynamic behavior of the used frameworks underneath those GUI controls is unknown to the developer, improper configuration or misuse is a very common source for performance problems. First performance results not promising The most confident developers that finished all their user stories in time where taken by surprise as the first load test results showed that the new feature hosting a 3 rd party Data Grid control that consumed a remote ADO.NET Data Source did not scale with only a small to medium user load. Symptoms of the performance issue: CPU consumption on the database, frontend and application server climbed, network soon became a bottleneck and the frontend server ran low on memory. SQL Server log showed many SELECT * FROM PRODUCTS table queries without a WHERE or ORDER BY clause, but don t give a clear indication about the origination of the calls. Diagnosing the problem and verifying its resolution requires additional resources from both development and testing, which otherwise could be spent on developing new functionality and increasing test coverage to improve quality. Could this problem already have been identified during development? Debugging wouldn t be possible as the symbol information for the 3 rd party control is not available Adding custom instrumentation code to the Data Grid control is not possible as its source code is not available and also would be too much effort to use it for proactive performance diagnostics Visual Studio s built-in profiler is not able to trace across distributed CLRs and thus can t be applied to this scenario either None of these steps would enable developers to prevent the problem that happened under load. How to identify the problem already during development? Getting insight into the frameworks used helps to understand what is going on under the hood based on how the framework components are used and configured. Only code-level diagnostics tools that can trace transactions in 3 rd party frameworks across distributed CLRs to analyze their database and remoting activities provide this kind of visibility in specific use case scenarios. This way, developers can see how custom code or configuration changes impact the dynamic behavior of the used frameworks on their local workstation. Thus, it would have been possible to detect the SELECT * FROM PRODUCTS statement causing the application to stall under load during development, which would proactively avoid additional fix-test cycles later on. Continuous Application Performance for Enterprise.NET Systems 6

9 ASP.NET data bound problem explained The ASP.NET Data Grid configured with a standard SQL Server Database Connection does not leverage SQL to page or sort the result set that is displayed. Instead, all items are retrieved from the table and sorting and paging happens in memory on the Application Server. This behavior results in higher load on both database and application server, as well as more traffic on the network. The used 3 rd party Data Grid Control extended the base ASP.NET Data Grid control by retrieving the data via a remote interface inheriting the problem of always requesting all data. Why Performance Problems Leave Continuous Integration Undetected? The.NET world offers different build server options to choose from when implementing Continuous Integration (CI). Microsoft s Team Foundation Server and CruiseControl.NET are the most well known solutions on the market. These solutions execute builds on an hourly, daily or weekly basis: Unit and Integration Tests get executed to verify functional correctness; Code Coverage and Static Code Analysis make sure that code is property developed and well tested. Continuous Integration and Agile Development allow task tracking by following the Burn-Down-Chart unfortunately, performance and scalability are most often not part of user stories or are not automatically verified by the automated CI tasks. When confronting Product Owners with the first results of load and performance tests or the first negative feedback from customers using the latest Sprint in production their answers are likely to be We implemented all user stories that we had planned for this iteration We achieved 90% code coverage with our unit tests All our tests on our build server didn t show any problems Status quo in Continuous Integration Unit and Integration Tests only verify functional correctness of the tested code. Failed tests on the build machine indicate functional regressions but must be manually analyzed by developers who often need to rerun the tests locally on their machines in order to analyze the problem. Load- and Performance Tests are most often not part of the CI process. Developers that are responsible for test creation are not experts in load test scripting. The build server also should not be used for load testing as it would disrupt continuous build and unit test execution. Additional equipment or tools to execute load tests are often not available. Long running tests not only negatively impact the overall duration of a build cycle, but also lead to extended idle time for developers when they wait for their local tests to complete before they can check-in their code changes. Thus, their productivity is decreased. What we require in Continuous Integration Integrating performance diagnostics solutions into the CI process extends the benefit of Unit Tests from only identifying functional regressions to also identify performance regressions across individual builds. This is done by analyzing the execution times of individual methods, classes, packages or frameworks per test case (transaction trace). Recording the transaction executions of unit- and integration tests at code-level and providing the data for offline analysis also irons out the need to re-run run failed tests whether it uncovered a functional or a Continuous Application Performance for Enterprise.NET Systems 7

10 performance regression issue at the developer s machine. This way, their resolution time can be significantly shortened. Applying code-level diagnostics to integration tests, which cover multiple components, also enables you to identify architectural issues such as components negatively affecting the performance of each other. Finally, it is necessary to manage the build and test execution times to ensure that they do not run overtime to keep test coverage or build frequency at the required levels. These proactive steps will not only save time and money, but will get valuable development resources back to what is their primary mission developing, feature-rich, powerful software. Extending CI Tests with Code-level Diagnostics Microsoft s Team Foundation Server and free available tools like CruiseControl.NET provide all the features that a build server needs to have for continuous integration (CI Server). It s based on a strong scriptingbased execution engine that enables executing scheduled or triggered builds, tests and deployments. Identify performance regressions The CI Server itself provides the means to execute builds and unit tests on a build-to-build basis. The executed unit tests store their results per build in their proprietary format. Team Foundation Server additionally stores results about each build in its database which enables rich reporting across builds. With this it is possible to create reports that identify functional regressions across builds. Unit Tests that used to be green and fail now require further root-cause analysis to iron out regression issues. In combination with a code coverage tool it s possible to identify the changed code portion that broke the functionality. Due to unit testing tools lack of ability to analyze performance of the executed code, it s not possible to identify performance regressions on component, class or method level. The only thing that can be tracked is execution times of unit tests as a whole but not the individual execution times of the underlying code. dynatrace seamlessly integrates into MSBuild and NAnt and also offers a rich automation framework to be integrated in any other CI process that can leverage Web- or RESTfull Services. This integration enables performance analysis of every test execution done during the build process. With this gained insight, performance regressions can be identified from build to build or iteration to iteration. These regressions can be identified on method, class, package, remoting activity or even SQL level. Analyze impact of code changes (side effects) Changing code often impacts more than just the component that was changed. A service that returns more data affects the consumer that needs to process more data and also affects the memory or network usage. Impacts like this are often not visible or well understood. Developers tend to make changes easily without considering the side effects. Adding additional logging output to a method that is used 1000 times during a transaction doesn t make time Presentation Layer Business Logic Web Service/Remoting Data Access Presentation Layer Business Logic Web Service/Remoting Data Access Identify Performance Regressions on Method Level Presentation Layer Business Logic Web Service/Remoting Data Access Build 1 Build 2 Build 3 Identify performance regressions on component/api-level and analyze their performance impact among each other across builds Analyze Database Performance across builds Impact Analysis on Component level between builds Continuous Application Performance for Enterprise.NET Systems 8

11 the individual method significantly slower but has a huge impact on the performance of the entire transaction. With dynatrace s comparison abilities between methods, classes, components and even frameworks it s possible to identify the performance impact of code changes introduced with a new build from one component to the other helping the developers to better understand the implications of code changes. Manage test execution times Unit test frameworks provide information about individual test execution times. When tests start taking longer and longer and thus exceed the available time for completing all CI-tests it s often not obvious what is the cause. It could be that the tests just test more functionality, or more likely that the tested code has decreasing performance. Identifying the slow running methods delaying test execution while tracking code coverage of all test executions enables you to optimize test cases to keep test execution at an acceptable level. E.g., if a slow running method is executed by too many tests its better to verify if it is really necessary or if all necessary use-case scenarios are already covered by a smaller set of tests. Example: Testing Web services in a CI-scenario Unit testing a Web service locally on a developer s workstation is important to catch first issues early on, but also provides only very limited test coverage. Web service consumers and any other accessed services need to be mocked e.g., with frameworks like Moq.Net or NMock. Also, performance overhead of SOAP calls is tremendously different when the call needs to go over the wire as opposed to a call between two CLRs on the local machine. However, most problems with Web services actually involve the integration of clients and other services, which is why integration testing early on is quite important to keep costs of defects low. Performance Problems with Web Service After completing the development iteration, both user stories the Web Service and the Consumer have been integrated into the daily build and continuous integration test cycles. It turned out that the Web service took extremely long to execute during integration testing, which not only meant that performance goals were missed, but also that the overall build schedule was negatively impacted. Instead of running twice a day, a full build could only be executed once a day or the build was executed with a limited set of tests in order to keep the predefined schedule, which however led to decreased quality. Symptoms of the performance issue: SQL Server log showed many duplicated SQL Statements and high memory consumption of the Web Service. The Web Service developer could not see the duplicated statements on his local machine. Which would be the next possible steps to analyze and resolve the problem? Using a profiler would have only allowed profiling the two components separately without having a real trace from the consumer to the web service The developer of the Consumer User Story could not debug the problem because the Web Service was not accessible from his machine Adding custom instrumentation code was only limited because a 3 rd party OR Mapper was used to access the data from the database None of these steps allowed the developer to analyze the problem that happened in the CI Environment. How to identify the problem? Applying a diagnostics solution, which can trace transaction executions at code-level across tiers, to a Continuous Integration environment enables you to understand the dynamic behavior of central application Continuous Application Performance for Enterprise.NET Systems 9

12 components such as Web services as they are used by their consumers. Additionally, you also see how the components affect each other depending on their implementation and deployment configuration. Duplicated SQL queries are often caused by incorrect configuration of frameworks or because too many developers worked on the same features over time not knowing what data had already been requested. What makes it difficult is that those problems may only surface with certain deployment configurations and in certain usecase scenarios and test data. Although developers may already catch such problems on the their local machines they likely miss most of them as they simply show not up when using different input data, local configurations or mock-up services instead of real-ones. Problems with OR Mappers As with any framework that offers a broad range of features, OR-Mappers give you the flexibility to configure their data fetch, update and caching behavior. Common options for data access are lazy vs. eager loading. Caching allows retrieved objects to be kept in memory to avoid roundtrips to the database. In the example above, in contrast to the developer s local workstation environment, caching has been disabled in the web.config file of the Web Service container that was deployed on the CI system, causing multiple requests to the same data in the database. Why Is Performance Testing Costly and Painful? Performance Testing has often been neglected in the past in order to save time and costs. Nowadays, companies are more aware of its necessity. Therefore, development organizations may already test each build with small loads to uncover performance issues early on, and either build their own test labs or outsource testing to Test Centers to run the final staging tests with large user loads. For load testing during development, organizations often don t buy expensive enterprise-class load testing solutions, but rather use free available tools like OpenSTA, or affordable solutions like Visual Studio Team System for Testers. In the first test iterations, core application performance problems are often found with limited hardware resources and low load. After these bumps have been found, however, large scale load tests are a necessity to verify performance and scalability under production like conditions. When tests get executed against the current Drop Build, development most likely comes up with the following questions How can I reproduce the problem that happened under load on my local machine? Can we re-run the tests with the following debug dlls that will provide additional log information? Can we install a remote debugger on the lab machines and can I connect to it? Status quo in test centers The problem with traditional performance diagnostics tools on the market is that they do not provide the information developers need in order to quickly find, analyze and fix the problem. The problem of not having the right data therefore results in expensive test re-runs runs with special debug builds or having the developers occupying test hardware to debug through problems. This means that the Test Team cannot continue with other tests, or that additional hours need to be bought from the external Test Center. Debug builds or higher log levels also impact the execution behavior of the application. It s not guaranteed that the same problems will occur again. It s most likely that the system will only sustain lower load due to the additional overhead. The problems that are found and fixed might not be the problems seen in a release build. Standard Lost Test Report with Performance Indicators Continuous Application Performance for Enterprise.NET Systems 10

13 Relying on external or off-facility test centers also introduces additional communication overhead between the testers and developers. The so called Ping-Pong effect is often tedious, expensive, and does not provide the desired result getting the information developers need to find the root cause of the identified problems. What we require in test centers To support the resolution process of performance problems uncovered in load tests efficiently, test engineers need to automatically document all the information developers need to diagnose the problem s root-cause. This means collecting code-level transaction traces for every single request the load testing tool executes, that not only include performance information, but also Development rich context information (e.g., method arguments, memory Testing Reproduction allocations, sync events, SQL-bind data, exceptions/logs). Having such detailed information at hand entirely eliminates the need for developers to reproduce problems in their local environment. Developers can quickly diagnose the root-cause of problems offline, giving them more time to focus on developing new functionality. It also saves time spent in Test Centers and gives testers more time to focus on test creation and execution, thus increasing their test coverage. Having code level information for each test iteration also enables performance regression analysis on a component-level rather than per feature or Web page. This way, testers may find performance issues deep inside the application that are otherwise invisible to them, but will eventually surface under real production conditions and 24x7 usage. The more granular information that can be analyzed, the easier it is for developers to fix regressions. Extending Load Tests with Code-level Diagnostics Commercial tools like Microsoft Visual Studio Team System for Testers, HP s LoadRunner, Borland s SilkPerformer or even free tools like OpenSTA provide good load testing capabilities of Web applications, Web services or even other protocols. Going beyond load test reports Load testing tools provide useful reports on user load, transaction throughput, and application response times to uncover application performance issues under load. They usually can also correlate these client-side metrics with system metrics they monitor from application servers or the underlying systems such as CPU, Network and memory usage to provide information on how to tune those systems to optimize performance and alleviate bottlenecks. Problem Analysis WebTest Plugin enables analyze requests over time individuals down to code However, load testing tools generally treat applications as a black-box. If the root-cause of the performance problems is located within the application, as opposed to the underlying server system, load testing tools do not deliver the information developers need to quickly diagnose and resolve the performance issue in the application s code. Development Testing Reproduction Problem Resoluton Time Problem Analysis Problem Resoluton Accelerate issue resolving process with dynatrace Time Saving Time Continuous Application Performance for Enterprise.NET Systems 11

14 dynatrace overcomes this problem as it integrates with load testing tools such as Visual Studio Team System for Testers to provide code level diagnostics information for every single request executed by the load testing tool. With dynatrace, developers and test professionals can now automate and accelerate the process of documenting, diagnosing and resolving performance issues in.net applications, allowing more time to be spent on strategic development and test activities. As dynatrace automatically collects all the information developers require for root-cause analysis with every test run, the need for additional test runs with additional log/debug-options to drill down into certain problem areas goes away. Also, developers can now simply pick a spike in the load test results graph and isolate the application component causing a long running page request and diagnose its root-cause down to code-level. Facilitate communications Every load testing tool has its own set of result files and viewers that allows analysis of the captured results. In addition to these results, the result package also includes application and web server logs, Windows event logs, application specific logs, memory snapshots, etc. All this information is handed back to Development who needs to analyze all different types of data sources trying to manually correlate the logged information to identify the performance problems shown in the load testing report produced by the load testing tool. dynatrace combines all this information with its in-depth transaction tracing information (PurePaths) into one single source. Simply export PurePaths into a single dynatrace session file. Besides pure performance metrics (response times, CPU usage) for each recorded method, PurePaths also contain all necessary contextual information about each single Web request (e.g., method arguments, memory allocations, network utilization, SQL bind data, sync events, exceptions/logs) necessary to quickly diagnose performance issues down to their root cause. This file similar to a PDF document - can be shared Analyze the context of each individual request that caused a problem Compare load tests down to the the code level Export to file and distributed to development. The dynatrace Client or Viewer enables Development to analyze all the data automatically collected during the load test, eliminating tedious manual work to accelerate problem diagnosis and resolution. Identify performance regression Load Testing tools provide the ability to compare load test results across tests. These comparisons are done based on the information collected by the tool which are response times of tested pages and resource consumption based in infrastructure performance counters. dynatrace extends this comparison down to component, class and method level. With this you can identify performance regressions on component-level deep inside the application and analyze their impact on other depending components or the entire system. With dynatrace, testers also find performance issues buried deep inside the application that are invisible to load testing tools, but will eventually surface under real production conditions and 24x7 usages. Thus, dynatrace increases test coverage resulting in less performance problems in production. Continuous Application Performance for Enterprise.NET Systems 12

15 Example: Remoting under load Microsoft Windows Communication Foundation (WCF) has joined the.net Framework in release 3.0, providing a communication platform that can be used on top of different protocols (SOAP, XML, Binary, ) and transport channels (HTTP, TCP/IP, Named Pipes, ). Implementing a remotable interface has become as easy as implementing a local interface. Consuming and using a remote interface is no longer different than working with a local object. The magic happens behind the scenes and is configurable in the application configuration file. However, a remote method call comes with a lot more performance overhead than a local call. Also, the different protocols and transport channels have their specific advantages and disadvantages, which make them better suited for certain use-case scenarios than others. If these issues are not taken into consideration, performance problems become inevitable once the system is put into a production-load environment. Network problems when using WCF service under load The feature that was load tested by an external Test Center provides an AJAX enabled Web user interface that allows querying stock ticker information from a web server. The web server in fact just forwards the requests to a WCF service which is also used by other internal applications that feed the ticker service. Symptoms of the performance issue: The results provided by the Test Center were standard load test reports showing that the page time got slower with only a fraction of the full load that was intended. The database was not busy. The bottleneck seemed to be the network between the Application Server hosting the WCF service and IIS hosting the Web UI. What would be the next possible steps to analyze the problem? Changing the WCF configuration to enable logging of every WCF call and re-run the whole test? Would that have impacted performance even more due to higher logging I/O activity? Remote debugging was not an option as the Test Center did not allow external access Adding custom instrumentation code was only limited because WCF is doing all network related activity internally None of these steps allowed the developers to analyze the exact problem. Each required a costly re-run of the test. How to identify the problem? Using transactional tracing under load that collects all relevant code level, network and database-specific context information integrated in the load testing environment enables analyzing problems that occur in distributed systems under load. Extensive network traffic can be a result of wrong configuration, wrong deployment or wrong usage patterns of remoting technologies. Problems with remote communication One single AJAX Handler request executed 101 WCF Calls No matter which type of communication is used may it be on the local machine, to a machine in the same network or to a machine somewhere on the internet roundtrips need to be avoided as much as possible. Every call to a remote service requires Marshalling the data that is sent between client and server. Depending on the protocol this can mean serializing and de-serializing object graphs to XML or SOAP Continuous Application Performance for Enterprise.NET Systems 13

16 A connection needs to be established which binds valuable system resources. Depending on the distance between the two endpoints latency may become an important factor Data must be sent. The chosen protocol and bandwidth determine the transmission speed Modern development environments and frameworks like Visual Studio and.net make the use of remote interfaces and protocols completely transparent. The above explained example shows a typical problem where a remoting interface was not designed for remotable usage. 101 roundtrips (N+1 problem pattern) were necessary to retrieve the information that was returned to the AJAX request. Why Does Problem Resolution in Production Take So Long? Production monitoring has evolved over the years. Not only does it monitor infrastructure metrics like network utilization, CPU, Memory and I/O on the servers, but also aggregated in-depth.net application metrics through IL-code instrumentation or through application-specific counters that development has added manually. Despite the amount of data collected in case of an alert it is hard to figure out the cause of a slow running web page or why the network bandwidth between two servers is suddenly not large enough. When using a monitoring solution like Microsoft System Center Operations Manager (SCOM) to monitor servers, network and applications, alerts are generated in case pre-defined performance thresholds are exceeded. s will go out to the responsible Operators, Administrators and System Architects who will then struggle with the following questions Is it an infrastructure or is it an application specific problem? Can we turn on additional logging and wait till the problem happens again? What kind of information can you give me in order to reproduce the problem? Status quo in production End-user monitoring provides instant feedback of application response times and availability as your end user would experience them. Synthetic monitors are well suited for proactive availability monitoring from various remote locations as well as for standardized service-level monitoring of certain business processes. Monitoring real end-user traffic provides instant feedback of application performance issues that directly affect end-users..net deep eep-dive monitoring helps to analyze the application s dynamic behavior. Traditional deep-dive solutions instrument the application s IL-code and log files and provide aggregated performance information down to class and method level. This way, system architects can get enough information to isolate a problematic component causing a service disruption. However, they do not provide enough level of detail to allow developers to quickly analyze the problem s root cause. Consequently, developers need to recreate the reported problems in their environment for further analysis, which not only takes a lot of time, but also is impossible in many situations. Thus, problem diagnostics often becomes pure guesswork rather than empirical analysis, resulting in many fix-test cycles and long repair times. System monitoring pinpoints the root-cause of performance problems in the applications infrastructure (e.g., configuration issues of an application server or database, etc.). A high CPU or low memory measure on an application server alone, however, does not tell whether it is an application-specific problem or whether other tasks running on the same box consume the needed computation power. Continuous Application Performance for Enterprise.NET Systems 14

17 What we require in production If an application issue is causing downtime of a business-critical application, it is imperative that development quickly gets all the information they need to rapidly diagnose the issues underlying root-cause in order to minimize the impact of the problem. Business Transaction Management coupled with deep-dive dive code-level diagnostics enables you to quickly assess the impact of performance issues to the business, while providing the visibility developers need to quickly diagnose and resolve application issues that occur in production. Being able to globally trace and record transactions end-to to-end at code-level enables developers to analyze production problems offline on their local workstations deep within the.net application code even if the application is deployed over multiple locations connected via Web Services or other remoting technologies. Analyzing application dependencies in real life deployments is important for System Architects to understand the impact of changing instances in server clusters to the transaction routes, service updates or configuration changes to other applications, or of problems in central application components and services to business services. Especially with global SOA applications it is more necessary than ever to understand the individual transaction flows across all the SOA components. For example, Application Dependency Mapping visualized in UML the configuration of Enterprise Service Buses (ESB) like BizTalk determines orchestration of decoupled SOA services. This not only allows app dev teams to more independently update them, but also architects to quickly adapt SOA applications to changing business processes through simply updating ESB configuration. As both activities may have critical side effects, it is important to understand the application dependencies as they are in place in the production environment. To reduce hardware and software purchase and maintenance costs and to foster Green IT you also need to efficiently tune the scalability of your application components and servers. To optimize their deployment, IT not only needs to understand the dependencies between application components, but also their communication behavior and scalability characteristics. Extending Monitoring with Code-level Transaction Tracing Monitoring Solutions like System Center Operations Manager (SCOM) allow monitoring of the complete infrastructures including servers, network components and even applications. Alert on business transactions SCOM can monitor different types of objects in the infrastructure. All objects - like server instances, network components or web applications hosted in IIS - provide properties that represent their status. This can be the current memory usage of processes on a machine, the used bandwidth of a network switch, the I/O activity on SQL Server, or the response times and status of a certain ASP.NET Web page. Based on those properties alerts can be SCOM Alerts on infrastructure or high level app triggered when certain thresholds are exceeded or exceptions occur. But what is the exact root cause of issues, such as high CPU usage on the Application Server or why is the internal network congested? Continuous Application Performance for Enterprise.NET Systems 15

18 dynatrace extends the monitoring capabilities of SCOM by providing code-level transaction tracing of every single activity in the monitored application. This extends the type of alerting granularity from infrastructure and high level application metrics to individual business transactions and their supporting services such ASP.NET or WCF components. High CPU utilization can now be directly related to individual business transactions executing certain code segments. These individual transactions can be analyzed including all relevant context information that System Architects and Developers need to understand the root cause of the problem - and therefore eliminate collecting and correlating different types of data to understand the problem. Shorten resolution time Monitor on Business Transactions -> Identify root cause down tn Code Level dynatrace automatically records failed transactions into a dynatrace session, which includes the PurePath data for offline root-cause analysis of performance issues as they occur in production. The PurePath data contains all the contextual information that is needed to diagnose a problem s root cause deep down within the application s code. Thus, developers do not need to access the production environment to instrument the application with additional logging code. Developers do not need Analyze each single transaction with all required context information access to the production environment to analyze server logs and there is no need to debug or profile the deployed application, whose tremendously high overhead would not only very negatively affect end-user experience, but also complicate root-cause analysis to a great extent. Optimizing service deployment to improve application scalability Monitoring performance on a service or component level, seeing the real-life dependencies between those components, and understanding their communication behavior provides all the data needed to ensure proper configuration and distribution of these components and services. Individual services that are overloaded can be scaled up by adding additional servers that host those services. Under-utilized services can be combined with other services on the same hardware to save costs. Impacts of deployment configuration changes can immediately be monitored and corrected when they impact the overall system performance. Example: Customized SharePoint List gone wild Microsoft Windows SharePoint Services (WSS) and Microsoft Office SharePoint Server (MOSS) provide a feature-rich and highly-customizable Collaboration and Content Management Platform based on ASP.NET. Visual Studio, SharePoint Designer and the Customization Features via the Web browser allow Developers, Designers and Users to customize SharePoint to their individual need. However, those customizations are usually the source for performance problems, because best-practices have not been taken into consideration. Continuous Application Performance for Enterprise.NET Systems 16

19 Effects of customization A customized SharePoint installation to track support tickets has recently been released. It s used both externally by customers to create and follow support tickets and internally by the support team to handle and respond to ticket requests. Symptoms of the performance issue: A few support engineers complained about very slow ticket list access. SCOM reported no problems in the infrastructure all average values were far below defined SLA s. What would be next possible steps to analyze the problem? Manually analyze SQL, IIS and SharePoint logs and try to relate log entries with individual requests from particular users Turn up log level details on all application servers to gather additional information Backup SharePoint Content Database and try to reproduce and debug problem on developer machine None of these steps allowed the SharePoint Administrator to quickly resolve the problem. How to identify the problem? With code-level transaction tracing in the production environment turned on 24x7, it is possible to analyze each individual request executed by customers and support engineers. Analyzing problems on a transaction level takes away the guesswork of interpreting and correlating system and application metrics. With recording not just the pure performance data, but also all the contextual information like method arguments, memory allocations, sync events, SQL-bind data exceptions/logs, etc. you can easily diagnose the root cause of slow Web page requests or pages that failed. Aggregated application metrics usually don t provide the required granularity to identify what led to the problem. Through persisting the data for offline analysis you even eliminate the need for developers to reproduce the behavior in the local environment. Customized SharePoint View queries ALL list items resulting in large HTML page Customized SharePoint Views causing problems When allowing users to customize their SharePoint portal and also allowing them to create their own SharePoint views it s possible that a user decides to create a view without using an appropriate filter or row limit. Much has been said in Blogs, Best Practices and Knowledge Base entries about SharePoint Lists exceeding the 2000 item limit. This limit only becomes a problem if the views are going to show more than 2000 items at a time. The key to high performance SharePoint Lists and Views is to define filters which are based on indexed columns and limit the number of items that are shown on a single page. This limits the number of items retrieved from the database, minimizes the generated HTML and increases overall end-toend request performance. Continuous Application Performance for Enterprise.NET Systems 17

20 Conclusion As IT faces unprecedented pressure from the all sides higher business dependency on applications, a much harsher economic climate demanding doing more with less, and rapidly changing technological environment resulting in more complex applications Application Performance Management must evolve to fulfill new requirements to ensure continuous delivery of high application performance with minimal resource investment. Consequently, the new APM must Go beyond monitoring to o Trace continuously all transaction executions from business to code level, even across globally distributed tiers enabling you to manage business transactions, tune application performance and significantly cut mean-time-to-repair of application issues o Visualize application complexity and dependencies enabling you to review the dynamic behavior of software architectures, tune application deployments for optimal scalability and manage complex, virtualized infrastructures, as well as Go beyond silos to o Enable strategic implementation in each phase of the application lifecycle in particular in development and test, to reliably eliminate problems as early as possible o Provide a common dataset of application performance metrics that is visualized according to the specific needs of each individual stakeholder to simplify communication o Establish an open platform that enables easy integration into existing development and IT processes and tools enabling automation to do more with less dynatrace s system for Continuous Application Performance Management fulfils these new requirements and represents the next generation of solutions explicitly designed for use by all IT personnel throughout the application lifecycle. Delivering a building block approach, which allows implementing a piece at the time, dynatrace provides significant benefits in each stage of the application lifecycle: Development o Reduce costs per defect by x o Speed time to market for new and/or enhanced applications o Implement performance management strategically into the development process Test o o o Reduce Mean-Time-To-Repair by 90% and free-up dev resources Fewer and quicker test cycles between test and development Uncover hidden performance issues at component-level Production o Accelerate Mean-Time-To-Repair by 10x and reduce application downtimes by 90% o Provide deep visibility into the behavior of production applications to CTOs and architects o Optimize efficiency in software/hardware deployment Consequently, dynatrace s system for Continuous Application Performance Management ensures application performance supports business goals, lowers TCO through reduced application building and maintenance efforts, reduces time-to-market of development projects, and also increases productivity and efficiency across the application performance lifecycle. We invite you to learn more at Continuous Application Performance for Enterprise.NET Systems 18

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria

More information

STEELCENTRAL APPINTERNALS

STEELCENTRAL APPINTERNALS STEELCENTRAL APPINTERNALS BIG DATA-DRIVEN APPLICATION PERFORMANCE MANAGEMENT BUSINESS CHALLENGE See application performance through your users eyes Modern applications often span dozens of virtual and

More information

Performance Management from black-art to process

Performance Management from black-art to process Performance Management from black-art to process peter.holditch@dynatrace.com What needs to be measured? CPU utilisation I/O Rate TPM level transaction stats What needs to be measured???? Remember how

More information

Frequently Asked Questions Plus What s New for CA Application Performance Management 9.7

Frequently Asked Questions Plus What s New for CA Application Performance Management 9.7 Frequently Asked Questions Plus What s New for CA Application Performance Management 9.7 CA Technologies is announcing the General Availability (GA) of CA Application Performance Management (CA APM) 9.7

More information

Why Alerts Suck and Monitoring Solutions need to become Smarter

Why Alerts Suck and Monitoring Solutions need to become Smarter An AppDynamics Business White Paper HOW MUCH REVENUE DOES IT GENERATE? Why Alerts Suck and Monitoring Solutions need to become Smarter I have yet to meet anyone in Dev or Ops who likes alerts. I ve also

More information

IBM Tivoli Composite Application Manager for WebSphere

IBM Tivoli Composite Application Manager for WebSphere Meet the challenges of managing composite applications IBM Tivoli Composite Application Manager for WebSphere Highlights Simplify management throughout the life cycle of complex IBM WebSphere-based J2EE

More information

Six Steps to Improved SharePoint Performance & Operations

Six Steps to Improved SharePoint Performance & Operations Accelerating SharePoint Performance The guys at Application Performance quickly understood our SharePoint problem. They demonstrated that the combination of WebTuna and Riverbed SteelApp Web Accelerator

More information

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad Test Run Analysis Interpretation (AI) Made Easy with OpenLoad OpenDemand Systems, Inc. Abstract / Executive Summary As Web applications and services become more complex, it becomes increasingly difficult

More information

Load and Performance Load Testing. RadView Software October 2015 www.radview.com

Load and Performance Load Testing. RadView Software October 2015 www.radview.com Load and Performance Load Testing RadView Software October 2015 www.radview.com Contents Introduction... 3 Key Components and Architecture... 4 Creating Load Tests... 5 Mobile Load Testing... 9 Test Execution...

More information

What Is Specific in Load Testing?

What Is Specific in Load Testing? What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing

More information

Closing The Application Performance Visibility Gap Inherent To Citrix Environments

Closing The Application Performance Visibility Gap Inherent To Citrix Environments Closing The Application Performance Visibility Gap Inherent To Citrix Environments WHITE PAPER: DYNATRACE FOR CITRIX XENAPP/XENDESKTOP Many companies have invested in Citrix XenApp and XenDesktop environments

More information

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest.

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest. A New View on Application Management www.quest.com/newview Monitoring applications in multitier environment Uroš Majcen uros@quest-slo.com 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Management Challenges

More information

White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary

White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary White Paper The Ten Features Your Web Application Monitoring Software Must Have Executive Summary It s hard to find an important business application that doesn t have a web-based version available and

More information

Implement a unified approach to service quality management.

Implement a unified approach to service quality management. Service quality management solutions To support your business objectives Implement a unified approach to service quality management. Highlights Deliver high-quality software applications that meet functional

More information

IBM Tivoli Composite Application Manager for WebSphere

IBM Tivoli Composite Application Manager for WebSphere Meet the challenges of managing composite applications IBM Tivoli Composite Application Manager for WebSphere Highlights Simplify management throughout the Create reports that deliver insight into life

More information

Riverbed OPNET AppInternals Xpert PRODUCT BRIEF

Riverbed OPNET AppInternals Xpert PRODUCT BRIEF Riverbed OPNET AppInternals Xpert PRODUCT BRIEF See application performance through your users eyes It s not uncommon for today s web-based applications to require dozens of hops to complete a single transaction

More information

When application performance is better, business works better.

When application performance is better, business works better. Solution brief When application performance is better, business works better. How APM improves IT operational efficiency and customer satisfaction. Table of contents 3 Monitor. Manage. Perform. 3 What

More information

THE CONVERGENCE OF NETWORK PERFORMANCE MONITORING AND APPLICATION PERFORMANCE MANAGEMENT

THE CONVERGENCE OF NETWORK PERFORMANCE MONITORING AND APPLICATION PERFORMANCE MANAGEMENT WHITE PAPER: CONVERGED NPM/APM THE CONVERGENCE OF NETWORK PERFORMANCE MONITORING AND APPLICATION PERFORMANCE MANAGEMENT Today, enterprises rely heavily on applications for nearly all business-critical

More information

Monitoring Best Practices for COMMERCE

Monitoring Best Practices for COMMERCE Monitoring Best Practices for COMMERCE OVERVIEW Providing the right level and depth of monitoring is key to ensuring the effective operation of IT systems. This is especially true for ecommerce systems

More information

Copyright www.agileload.com 1

Copyright www.agileload.com 1 Copyright www.agileload.com 1 INTRODUCTION Performance testing is a complex activity where dozens of factors contribute to its success and effective usage of all those factors is necessary to get the accurate

More information

The top 10 misconceptions about performance and availability monitoring

The top 10 misconceptions about performance and availability monitoring The top 10 misconceptions about performance and availability monitoring Table of contents Introduction................................................................ 3 The top 10 misconceptions about

More information

Base One's Rich Client Architecture

Base One's Rich Client Architecture Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.

More information

Understanding the Impact of Running WAN Emulation with Load Testing

Understanding the Impact of Running WAN Emulation with Load Testing Understanding the Impact of Running WAN Emulation with Load Testing A Shunra Software White Paper July 2, 2008 Introduction Investment in pre-deployment performance testing has become a widely adopted

More information

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Mike Chyi, Micro Focus Solution Consultant May 12, 2010 Mike Chyi, Micro Focus Solution Consultant May 12, 2010 Agenda Load Testing Overview, Best Practice: Performance Testing with Diagnostics Demo (?), Q&A Load Testing Overview What is load testing? Type

More information

Response Time Analysis

Response Time Analysis Response Time Analysis A Pragmatic Approach for Tuning and Optimizing SQL Server Performance By Dean Richards Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com

More information

HP Application Performance Management

HP Application Performance Management HP Application Performance Management Improving IT operational efficiency and customer satisfaction Solution brief IT organizations are under pressure to reduce downtime and improve the quality of user

More information

API Management Introduction and Principles

API Management Introduction and Principles API Management Introduction and Principles by Vijay Alagarasan, Principal Architect, Enterprise Architecture and Strategy of Asurion Abstract: This article is focused on providing solutions for common

More information

Performance Testing Process A Whitepaper

Performance Testing Process A Whitepaper Process A Whitepaper Copyright 2006. Technologies Pvt. Ltd. All Rights Reserved. is a registered trademark of, Inc. All other trademarks are owned by the respective owners. Proprietary Table of Contents

More information

Monitoring Best Practices for

Monitoring Best Practices for Monitoring Best Practices for OVERVIEW Providing the right level and depth of monitoring is key to ensuring the effective operation of IT systems. This is especially true for ecommerce systems like Magento,

More information

White Paper. Fundamentals of Performance Testing

White Paper. Fundamentals of Performance Testing etri White Paper Fundamentals of Performance Testing The Increasing Need for Proper Performance Testing due to Increasing Software Complexity in the Enterprise There have been two significant changes in

More information

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline Increasing Business Efficiency and Agility for ATGbased ecommerce Systems This case study follows a Tier 1 retailer migrating to an ATG-based ecommerce platform and upgrading its software development process

More information

PTC System Monitor Solution Training

PTC System Monitor Solution Training PTC System Monitor Solution Training Patrick Kulenkamp June 2012 Agenda What is PTC System Monitor (PSM)? How does it work? Terminology PSM Configuration The PTC Integrity Implementation Drilling Down

More information

Compuware dynatrace Enterprise

Compuware dynatrace Enterprise Compuware dynatrace Enterprise The availability and performance of your applications matter especially in the eyes of your end users. Poor performance causes end-user frustration and abandonment, reduced

More information

Web applications today are part of every IT operation within an organization.

Web applications today are part of every IT operation within an organization. 1 Introduction Web applications today are part of every IT operation within an organization. Independent software vendors (ISV) as well as enterprises create web applications to support their customers,

More information

.NET Application Monitoring with AVIcode Intercept Studio

.NET Application Monitoring with AVIcode Intercept Studio .NET Application Monitoring with AVIcode Intercept Studio Solvec B.V. Internet Solutions Kornalijnhorst 444 2592 JG Den Haag Tel.: 06-54 201 101 Fax: 070-3 28 41 24 Internet: http://www.solvec.nl E-mail:

More information

10964C: Cloud & Datacenter Monitoring with System Center Operations Manager

10964C: Cloud & Datacenter Monitoring with System Center Operations Manager 10964C: Cloud & Datacenter Monitoring with System Center Course Details Course Code: Duration: Notes: 10964C 5 days Elements of this syllabus are subject to change. About this course This course equips

More information

FireScope + ServiceNow: CMDB Integration Use Cases

FireScope + ServiceNow: CMDB Integration Use Cases FireScope + ServiceNow: CMDB Integration Use Cases While virtualization, cloud technologies and automation have slashed the time it takes to plan and implement new IT services, enterprises are still struggling

More information

WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT

WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT INTRODUCTION TO WAIT-TIME METHODS Until very recently, tuning of IT application performance has been largely a guessing

More information

The Complete Performance Solution for Microsoft SQL Server

The Complete Performance Solution for Microsoft SQL Server The Complete Performance Solution for Microsoft SQL Server Powerful SSAS Performance Dashboard Innovative Workload and Bottleneck Profiling Capture of all Heavy MDX, XMLA and DMX Aggregation, Partition,

More information

Enterprise Application Performance Management: An End-to-End Perspective

Enterprise Application Performance Management: An End-to-End Perspective SETLabs Briefings VOL 4 NO 2 Oct - Dec 2006 Enterprise Application Performance Management: An End-to-End Perspective By Vishy Narayan With rapidly evolving technology, continued improvements in performance

More information

Identify and control performance and capacity risks. Introduction... 2

Identify and control performance and capacity risks. Introduction... 2 Application performance testing in VMware environments Identify and control performance and capacity risks Table of contents Introduction... 2 Performance and capacity planning techniques... 2 Rough sizing

More information

How To Test For Performance

How To Test For Performance : Roles, Activities, and QA Inclusion Michael Lawler NueVista Group 1 Today s Agenda Outline the components of a performance test and considerations Discuss various roles, tasks, and activities Review

More information

BMC ProactiveNet Performance Management Application Diagnostics

BMC ProactiveNet Performance Management Application Diagnostics BMC ProactiveNet Performance Management Application Diagnostics BMC, BMC Software, and the BMC Software logo are the exclusive properties of BMC Software, Inc., are registered with the U.S. Patent and

More information

BridgeWays Management Pack for VMware ESX

BridgeWays Management Pack for VMware ESX Bridgeways White Paper: Management Pack for VMware ESX BridgeWays Management Pack for VMware ESX Ensuring smooth virtual operations while maximizing your ROI. Published: July 2009 For the latest information,

More information

Beyond Logging and Monitoring. New Techniques for Solving J2EE Application Problems in Production Environments. David Kadouch BMC Software

Beyond Logging and Monitoring. New Techniques for Solving J2EE Application Problems in Production Environments. David Kadouch BMC Software Beyond Logging and Monitoring New Techniques for Solving J2EE Application Problems in Production Environments David Kadouch BMC Software Abstract Application downtime costs in production systems can range

More information

SAP Performance Management. A Trend Study by Compuware and PAC

SAP Performance Management. A Trend Study by Compuware and PAC SAP Performance Management A Trend Study by Compuware and PAC December 2010 PAC, Month/YY SAP Performance Management A Trend Study by Compuware and PAC 2 Management Summary Many companies run critical

More information

Holistic Performance Analysis of J2EE Applications

Holistic Performance Analysis of J2EE Applications Holistic Performance Analysis of J2EE Applications By Madhu Tanikella In order to identify and resolve performance problems of enterprise Java Applications and reduce the time-to-market, performance analysis

More information

RTI v3.3 Lightweight Deep Diagnostics for LoadRunner

RTI v3.3 Lightweight Deep Diagnostics for LoadRunner RTI v3.3 Lightweight Deep Diagnostics for LoadRunner Monitoring Performance of LoadRunner Transactions End-to-End This quick start guide is intended to get you up-and-running quickly analyzing Web Performance

More information

EXAM - 70-518. PRO:Design & Develop Windows Apps Using MS.NET Frmwk 4. Buy Full Product. http://www.examskey.com/70-518.html

EXAM - 70-518. PRO:Design & Develop Windows Apps Using MS.NET Frmwk 4. Buy Full Product. http://www.examskey.com/70-518.html Microsoft EXAM - 70-518 PRO:Design & Develop Windows Apps Using MS.NET Frmwk 4 Buy Full Product http://www.examskey.com/70-518.html Examskey Microsoft 70-518 exam demo product is here for you to test the

More information

Troubleshooting PHP Issues with Zend Server Code Tracing

Troubleshooting PHP Issues with Zend Server Code Tracing White Paper: Troubleshooting PHP Issues with Zend Server Code Tracing Technical January 2010 Table of Contents Introduction... 3 What is Code Tracing?... 3 Supported Workflows... 4 Manual Workflow... 4

More information

APPLICATION MANAGEMENT SUITE FOR SIEBEL APPLICATIONS

APPLICATION MANAGEMENT SUITE FOR SIEBEL APPLICATIONS APPLICATION MANAGEMENT SUITE FOR SIEBEL APPLICATIONS USER EXPERIENCE MANAGEMENT SERVICE LEVEL OBJECTIVE REAL USER MONITORING SYNTHETIC USER MONITORING SERVICE TEST KEY PERFORMANCE INDICATOR PERFORMANCE

More information

PIVOTAL CRM ARCHITECTURE

PIVOTAL CRM ARCHITECTURE WHITEPAPER PIVOTAL CRM ARCHITECTURE Built for Enterprise Performance and Scalability WHITEPAPER PIVOTAL CRM ARCHITECTURE 2 ABOUT Performance and scalability are important considerations in any CRM selection

More information

Augmented Search for Software Testing

Augmented Search for Software Testing Augmented Search for Software Testing For Testers, Developers, and QA Managers New frontier in big log data analysis and application intelligence Business white paper May 2015 During software testing cycles,

More information

Automate performance testing to predict system behaviour and improve application performance. Business white paper

Automate performance testing to predict system behaviour and improve application performance. Business white paper Automate performance testing to predict system behaviour and improve application performance Business white paper Table of contents Executive summary... 3 What is performance testing?... 4 Why automate

More information

User and training guides and related documentation from Parametric Technology Corporation and its subsidiary companies (collectively "PTC") are

User and training guides and related documentation from Parametric Technology Corporation and its subsidiary companies (collectively PTC) are PTC System Monitor Installation and Usage Guide PTC System Monitor 2.0 July 17, 2012 Copyright 2012 Parametric Technology Corporation and/or Its Subsidiary Companies. All Rights Reserved. User and training

More information

Whitepaper Performance Testing and Monitoring of Mobile Applications

Whitepaper Performance Testing and Monitoring of Mobile Applications M eux Test Whitepaper Performance Testing and Monitoring of Mobile Applications Abstract The testing of a mobile application does not stop when the application passes all functional tests. Testing the

More information

Microsoft Modern ALM. Gilad Levy Baruch Frei

Microsoft Modern ALM. Gilad Levy Baruch Frei Microsoft Modern ALM Gilad Levy Baruch Frei Every app Every developer Any platform Achieve more Team agility The Open Cloud Open, broad, and flexible cloud across the stack Web App Gallery Dozens of.net

More information

Getting started with API testing

Getting started with API testing Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...

More information

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP

More information

Site24x7: Powerful, Agile, Cost-Effective IT Management from the Cloud. Ensuring Optimal Performance and Quality Web Experiences

Site24x7: Powerful, Agile, Cost-Effective IT Management from the Cloud. Ensuring Optimal Performance and Quality Web Experiences Site24x7: Powerful, Agile, Cost-Effective IT Management from the Cloud Ensuring Optimal Performance and Quality Web Experiences Must-know facts about Site24x7: We bring expertise gained from ManageEngine

More information

Diagnosing the cause of poor application performance

Diagnosing the cause of poor application performance Diagnosing the cause of poor application performance When it comes to troubleshooting application performance issues, there are two steps you can take to make diagnosis easier, faster and more accurate.

More information

MANAGEMENT SUMMARY INTRODUCTION KEY MESSAGES. Written by: Michael Azoff. Published June 2015, Ovum

MANAGEMENT SUMMARY INTRODUCTION KEY MESSAGES. Written by: Michael Azoff. Published June 2015, Ovum App user analytics and performance monitoring for the business, development, and operations teams CA Mobile App Analytics for endto-end visibility CA Mobile App Analytics WWW.OVUM.COM Written by: Michael

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

More information

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Michelle Pregler Ball Emerging Markets Account Executive Shahrukh Niazi Sr.System Consultant Java Solutions Quest Background Agenda

More information

Lifecycle Performance Management (dynatrace) Description

Lifecycle Performance Management (dynatrace) Description Lifecycle Performance Management (dynatrace) Description Compuware dynatrace is the new generation of application performance management. Its patented PurePath Technology provides the world s most accurate

More information

Optimizing IT Performance

Optimizing IT Performance Optimizing IT Performance End user based Performance Management Solutions bridge the gap to the business Time and the actual usage of conventional data center or server-based performance management solutions

More information

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor

More information

SiteCelerate white paper

SiteCelerate white paper SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance

More information

Mobile Performance Testing Approaches and Challenges

Mobile Performance Testing Approaches and Challenges NOUS INFOSYSTEMS LEVERAGING INTELLECT Mobile Performance Testing Approaches and Challenges ABSTRACT Mobile devices are playing a key role in daily business functions as mobile devices are adopted by most

More information

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper Performance testing in Agile environments Deliver quality software in less time Business white paper Table of contents Executive summary... 2 Why Agile? And, why now?... 2 Incorporating performance testing

More information

Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer

Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer Tech Notes Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer Al F. Mannarino, Embarcadero Technologies June 2008 Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters

More information

Accelerating Web-Based SQL Server Applications with SafePeak Plug and Play Dynamic Database Caching

Accelerating Web-Based SQL Server Applications with SafePeak Plug and Play Dynamic Database Caching Accelerating Web-Based SQL Server Applications with SafePeak Plug and Play Dynamic Database Caching A SafePeak Whitepaper February 2014 www.safepeak.com Copyright. SafePeak Technologies 2014 Contents Objective...

More information

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test. Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test. 01 39 20 13 55 info@precilog.com www.precilog.com End to End Process Testing & Validation:

More information

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

Monitoring Best Practices for

Monitoring Best Practices for Monitoring Best Practices for OVERVIEW Providing the right level and depth of monitoring is key to ensuring the effective operation of IT systems. This is especially true for ecommerce systems like Magento,

More information

How To Manage A System Center 2012 R2 Operation Manager

How To Manage A System Center 2012 R2 Operation Manager CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! Course 10964B: Length: Cloud & Datacenter Monitoring with System Center Operations Manager Audience:

More information

Testhouse Training Portfolio

Testhouse Training Portfolio Testhouse Training Portfolio TABLE OF CONTENTS Table of Contents... 1 HP LoadRunner 4 Days... 2 ALM Quality Center 11-2 Days... 7 HP QTP Training Course 2 Days... 10 QTP/ALM Intensive Training Course 4

More information

Business Application Services Testing

Business Application Services Testing Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. ???? 1 Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Application Delivery is Accelerating Surge in # of releases per app

More information

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice 27 th March 2015 Istanbul, Turkey Performance Testing Best Practice Your Host.. Ian Molyneaux Leads the Intechnica performance team More years in IT than I care to remember Author of The Art of Application

More information

Design and Functional Specification

Design and Functional Specification 2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)

More information

Application Performance Monitoring (APM) Technical Whitepaper

Application Performance Monitoring (APM) Technical Whitepaper Application Performance Monitoring (APM) Technical Whitepaper Table of Contents Introduction... 3 Detect Application Performance Issues Before Your Customer Does... 3 Challenge of IT Manager... 3 Best

More information

Solution Brief TrueSight App Visibility Manager

Solution Brief TrueSight App Visibility Manager Solution Brief TrueSight App Visibility Manager Go beyond mere monitoring. Table of Contents 1 EXECUTIVE SUMMARY 1 IT LANDSCAPE TRENDS AFFECTING APPLICATION PERFORMANCE 1 THE MOBILE CONSUMER MINDSET DRIVES

More information

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing? PorposalPPP Q: Gomez is standlone web application testing tool? Gomez provides an on demand platform that you can use for both testing and monitoring your Web applications from the outside in across your

More information

<Insert Picture Here> Java Application Diagnostic Expert

<Insert Picture Here> Java Application Diagnostic Expert Java Application Diagnostic Expert Agenda 1. Enterprise Manager 2. Challenges 3. Java Application Diagnostics Expert (JADE) 4. Feature-Benefit Summary 5. Features Overview Diagnostic

More information

CA Service Desk Manager

CA Service Desk Manager PRODUCT BRIEF: CA SERVICE DESK MANAGER CA Service Desk Manager CA SERVICE DESK MANAGER IS A VERSATILE, COMPREHENSIVE IT SUPPORT SOLUTION THAT HELPS YOU BUILD SUPERIOR INCIDENT AND PROBLEM MANAGEMENT PROCESSES

More information

Assurance in Service-Oriented Environments

Assurance in Service-Oriented Environments Assurance in Service-Oriented Environments Soumya Simanta Research, Technology, and System Solutions (RTSS) Program Software Engineering Institute Carnegie Mellon University Pittsburgh 15232 28 th October,

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds.

Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds. ENTERPRISE MONITORING & LIFECYCLE MANAGEMENT Unify IT Operations Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid

More information

Riverbed SteelCentral. Product Family Brochure

Riverbed SteelCentral. Product Family Brochure Riverbed SteelCentral Product Family Brochure Application performance from the perspective that matters most: Yours Applications are now the center of the business world. We rely on them to reach customers,

More information

VDI FIT and VDI UX: Composite Metrics Track Good, Fair, Poor Desktop Performance

VDI FIT and VDI UX: Composite Metrics Track Good, Fair, Poor Desktop Performance VDI FIT and VDI UX: Composite Metrics Track Good, Fair, Poor Desktop Performance Key indicators and classification capabilities in Stratusphere FIT and Stratusphere UX Whitepaper INTRODUCTION This whitepaper

More information

Proactive Performance Management for Enterprise Databases

Proactive Performance Management for Enterprise Databases Proactive Performance Management for Enterprise Databases Abstract DBAs today need to do more than react to performance issues; they must be proactive in their database management activities. Proactive

More information

Wait-Time Analysis Method: New Best Practice for Performance Management

Wait-Time Analysis Method: New Best Practice for Performance Management WHITE PAPER Wait-Time Analysis Method: New Best Practice for Performance Management September 2006 Confio Software www.confio.com +1-303-938-8282 SUMMARY: Wait-Time analysis allows IT to ALWAYS find the

More information

White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications

White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications White Paper How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications July / 2012 Introduction Critical Java business applications have been deployed for some time. However,

More information

Application Visibility and Monitoring >

Application Visibility and Monitoring > White Paper Application Visibility and Monitoring > An integrated approach to application delivery Application performance drives business performance Every business today depends on secure, reliable information

More information

SQL Server Performance Intelligence

SQL Server Performance Intelligence WHITE PAPER SQL Server Performance Intelligence MARCH 2009 Confio Software www.confio.com +1-303-938-8282 By: Consortio Services & Confio Software Performance Intelligence is Confio Software s method of

More information

WHITE PAPER Application Performance Management. Managing the Performance of Oracle Application Environments

WHITE PAPER Application Performance Management. Managing the Performance of Oracle Application Environments WHITE PAPER Application Performance Management Managing the Performance of Oracle Application Environments Executive summary... 3 Introduction... 4 The typical environment... 5 Challenges managing the

More information

Online Transaction Processing in SQL Server 2008

Online Transaction Processing in SQL Server 2008 Online Transaction Processing in SQL Server 2008 White Paper Published: August 2007 Updated: July 2008 Summary: Microsoft SQL Server 2008 provides a database platform that is optimized for today s applications,

More information

Brocade Network Monitoring Service (NMS) Helps Maximize Network Uptime and Efficiency

Brocade Network Monitoring Service (NMS) Helps Maximize Network Uptime and Efficiency WHITE PAPER SERVICES Brocade Network Monitoring Service (NMS) Helps Maximize Network Uptime and Efficiency Brocade monitoring service delivers business intelligence to help IT organizations meet SLAs,

More information