Performance Tuning

StopWatch

Performance Matters

The days when system and performance monitoring were just a “nice to have” and not really a core requirement for operational readiness are now gone. It is no longer acceptable from a business perspective that online applications can go offline or “grind to a halt” without warning. Instead more enterprises are embracing the “DevOps” methodology where Development and Operations are merged to foster innovative processes to improve application performance and the efficiency of  code deployments.

Using Continuous Delivery (CD) to automate and improve the process of software delivery with techniques such as automated testing, continuous integration and continuous deployment allow software to be developed to a high standard and easily packaged and deployed to different environments

Application Performance Management (APM)

APM is the translation of IT metrics into business value.

Application Performance Management (APM) is the monitoring and management of performance and availability of software applications. APM strives to detect and diagnose application performance problems to maintain an expected level of service.  The main focus of APM is to deliver better performance and ensure an acceptable end-user experience for critical applications by:

  • Reducing the time it takes to identify and diagnose problems
  • Reducing finger-pointing and the time-consuming war-room approach to troubleshooting

IT operations of large enterprises routinely  have to monitor applications and systems that rely on a multitude of dependent systems and resources. To manage a comprehensive view of performance, a full-system APM framework is needed to identify bottlenecks and measure component uptime through the complete lifecycle of business transactions. Gartner Research has published an APM conceptual framework that had been adopted by many IT organizations. This framework defines 5 dimensions of application performance:

  • End User Experience
    Measuring application traffic from user request to data and back again. Applications can be monitored passively or actively. Passive monitoring is usually implemented using external monitoring tools while active monitoring usually utilise synthetic probes and web robots predefined to report system and business transaction availability and performance
  • Runtime Application Architecture
    Application Discovery and Dependency Mapping (ADDM) solutions exist to automate the process of mapping transactions and applications to underlying infrastructure components. These mappings can be used for event correlation and provide the basis for a general understanding on how a network topology interacts with an application architecture.
  • Business Transactions
    Business transaction management (BTM), also known as business transaction monitoring is the practice of managing information technology (IT) from a business transaction perspective. It should allow tracking the flow of transactions across IT infrastructure, in addition to detection, alerting, and correction of unexpected changes in business or technical conditions.
  • Deep Dive Component Monitoring
    Deep Dive Component Monitoring (DDCM) is targeted at the middleware layer and focuses on web, application, and messaging servers. It should provide a near real-time view of the performance of middleware stacks such as Java EE and .NET including correlation back to individual business transactions
  • Analytics/Reporting
    It is important to use a common set of metrics to collect and report on for each application to provide a standardized common view to present application performance data. Collecting raw data from the other tool sets across the APM model provides flexibility in application reporting

Performance Scan

The Performance Scan is a service offered by EspalierTech where their experienced engineers can assist customers in tuning the performance of their application and help project teams to guarantee that their non functional requirements are met. Customers can gain a significant amount of time by leveraging the experience of EspalierTech engineers to analyze and improve their system’s overall performance.

Mission Control

Mission Control Console

This service includes processes and tools to support:

  • Log Analysis
    Enhanced monitoring with log analysis to reveal potential problems that would not be detected with simple availability monitoring
  • Application Diagnostics
    Diagnostics to help find the root causes of bottlenecks which can avoid potential outages or slow-downs
  • Analytics
    Predictive analytics to proactively manage dynamic trends and capacity analytics which can help maximize performance and utilization

Example Top Performance Issues

  • Over complexity
    Enterprise applications increasingly consist of a large collective of distributed software components and services that enable complex business processes. With so many moving parts, something’s always bound to have the chance of impacting performance, even with a resilient architecture.
  • Inefficient coding and design
    One of the biggest impacts to application performance is caused by companies outsourcing or subcontracting their application development and standard quality control processes outside of their company. Application quality and performance needs to be built into an application platform from the beginning and cannot be an afterthought or something that “we’ll fix later”.
  • Insufficient resources or infrastructure
    Applications are distributed by nature, and unless the underlying infrastructure is responsive on all the different components of the application service, the entire application service will be impacted.
  • Lack of application testing
    Insufficient testing of the application in a “production like” environment and under varying conditions will increase the risk of actual production performance issues. Tied to that is for developers and testers to have a clear understanding of the non-functional performance criteria.
  • Inconsistent configuration for different environments
    A typical application includes hundreds of different configuration parameters and is subject to numerous changes. The volume, velocity, and variety of configuration changes can quickly overwhelm IT operations if not kept under control. This is especially true when considering that any minor misconfiguration could potential lead to a high impact application performance or availability incident.
  • Virtualization and the cloud
    Virtualized environments are becoming too complex to troubleshoot with traditional silo tools. These produce too many isolated metrics and alerts that don’t make much sense and are hard to interpret for administrators.
  • People skills and communication
    Skill sets and knowledge of staff need be aligned with application portfolios.
  • Lack of proactive monitoring
    Lack of proper end-to-end monitoring can prevent IT from comprehending the health and capacity situation of applications. Eventually these applications will reach a point where they are no longer stable and may suffer from performance degradation or even downtime.
Oracle Enterprise Manager

Oracle Enterprise Manager

If you are experiencing a performance problem then please send us a message explaining your issue using the form below:

Your Name (required)

Your Email (required)

Subject

Performance Area
 Database (Oracle, Oracle RAC, DataGuard, GoldenGate)
 Java EE
 Java
 .Net
 Coherence
 Oracle SOA Suite

Your Message