monitoring best practices for

10
Monitoring Best Practices for

Upload: lamque

Post on 14-Feb-2017

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Monitoring Best Practices for

Monitoring Best Practices for

Page 2: Monitoring Best Practices for

2Monitoring Best Practices for Magento

OVERVIEWProviding 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, where downtime and poor performance have immediate and profoundly negative impacts on revenues and brand perceptions. Even more disturbing is the fact that these impacts can be far reaching, impacting customer purchase behavior for months or even years as the following statistics indicate :

• 47% of consumers expect a website to load in 2 seconds or less.

• 40% will abandon a website that takes more the 3 seconds

to load.

• A 1 second delay (or 3 seconds of waiting) decreases customer

satisfaction by 16%.

• 79% of shoppers who are dissatisfied with website

performance are less likely to buy from the same site again.

• 44% of online shoppers will tell their friends about a bad experience online.

Given the direct and immediate correlation between ecommerce website performance, business performance and customer lifetime value, the level of monitoring of ecommerce websites must go far beyond the monitoring of system vitals. It must go deep enough to uncover issues that may affect the customer experience and ideally uncover these issues before they ever impact customers.Tenzing is a managed hosting provider that specializes in ecommerce hosting solutions for Magento. Our position in the Magento ecosystem gives us a unique vantage point on the impacts of performance on ecommerce success. The range of customers that we serve and our experiences with our customers have impressed upon us the importance of advanced monitoring, so much so that we have invested in technologies and developed specific best practices to ensure the success of our customers’ ecommerce initiatives. This whitepaper describes our approach to advanced monitoring, one we hope you will find valuable in your ecommerce initiatives.

79% of shoppers who are dissatisfied with website performance are less likely to buy from the same site again.

Page 3: Monitoring Best Practices for

3 Dallas | Kelowna | London | Toronto | Vancouver www.tenzing.com

Monitoring, at its heart, is an exercise in transforming system data into critical insights, providing those insights to key stakeholders, at which point those key stakeholders take action to deliver measurable customer value. In our experience failures usually arise from a few key missteps:

A Success-Based Approach to Monitoring

Our approach to monitoring Magento ecommerce

environments is rooted in an approach that ensures that

we’re continually collecting the right information (i.e.

data that accurately reflects the customer experience),

drawing the right conclusions from that data (typically

in partnership with our customers) and delivering

these insights to the right business stakeholders to

deliver measurable benefits. We’ll discuss each of these

elements of our approach in some detail, describing best

practices designed to ensure optimal performance of the

Magento platform.

Poor data collection. This key driver of failure can take several forms, from collecting too little data to collecting too much data to collecting the wrong data. All lead to the same result, namely erroneous

insights that lead to bad business decisions.

Inaccurate insights. Inaccurate insights can be

driven by a variety of sources, including observer

bias and lack of proper context.

Wrong stakeholder. Even the most insightful, impactful observation can become meaningless in the hands of the wrong stakeholder. Getting insights into the right hands must be a top priority.

A Success-Based Approach to Monitoring

Page 4: Monitoring Best Practices for

4Monitoring Best Practices for Magento

As alluded to earlier, to properly track impacts to the customer experience one must be prepared to go beyond just checking for system vitals like memory, CPU, and I/O consumption. These indicators are necessary, but at best serve to rapidly indicate when a problem is already occurring. One must go deeper and collect performance data at the platform level (i.e. Magento and the underlying MySQL or Percona Server database) and at the code level. One must also marry these performance statistics to approaches rooted in measuring the customer experience

through techniques like synthetic and business transaction monitoring. When combined with other approaches like periodic load testing, these monitoring techniques provide a holistic view of ecommerce website performance from the customers’ perspective. Most importantly, they enable organizations to identify and remediate performance bottlenecks before they ever impact customers. Figure 1 illustrates how these different types of monitoring work together to proactively deliver a remarkable customer experience.

What follows is a detailed description of each of these types of monitoring and performance management tools, how each is used to deliver value individually, and finally how the combination of monitoring and load testing techniques drive proactive system performance on the Magento platform. It is important to keep in mind that, while the following solutions serve specific functions, the

end goal of a holistic monitoring strategy is to ensure the solution performs consistently, supporting an excellent customer experience across endpoints. Gaining insight into events that affect user experience before they occur, and preventing experience degradation is the key objective in a solid monitoring strategy.

Proper Data Collection for Managing User Experience

1 | System Vitals MonitoringBasic system availability and performance monitoring (i.e. memory, CPU, and storage consumption.)

3 | Platform MonitoringApplication monitoring of the Magento platform and MySQL or Percona database.

4 | Code Level MonitoringCode level monitoring of PHP based classes.

6 | Load TestingExternal load that mimics customer behavior to test thresholds of performance degradation.

7 | Global Intrusion MonitoringLayers of monitoring required to delivera remarkable customer experience.

5 | Synthetic /Real User MonitoringMonitoring the customer experience.

2 | Critical Systems ProtectionHost IDS/IPS + critical OS file monitoring/protection.

Figure 1: Layers of monitoring required to deliver a remarkable customer experience

CustomerExperience

Page 5: Monitoring Best Practices for

5 Dallas | Kelowna | London | Toronto | Vancouver www.tenzing.com

System Vitals Monitoring

At Tenzing, we utilize technology from

Uptime Software, Inc. to provide real-

time system monitoring of your Magento

environment, along with a single pane of

glass interface in which to manage and

review this data. This system provides

critical alerting for a variety of system

resources and keeps your internal teams

and your Tenzing support team informed

of any changes to the status of your servers

that might impact the availability and

performance of your Magento solution.

In addition, it also assists with capacity

planning by collecting and trending

historical performance data.

Monitoring Dashboard and ChartsTenzing leverages Uptime Software’s graphical system monitoring interface to deliver a comprehensive dashboard view of system performance. Uptime has a unified, comprehensive, and scalable IT dashboard for monitoring that is easy to use and fast to deploy.The dashboard intuitively delivers a snapshot of the health of your systems. It proactively monitors all physical servers, virtual machines, network devices, applications, and services.

Using Uptime, the Tenzing operations and support teams are able to quickly see and react to core performance issues with regard to resources that may compromise the availability of your system. This enables you to save time and money and keep your business running smoothly. Figures 2 - 4 provide examples of the variety of charts and views that are available into system performance.

System vitals monitoring is the most

basic layer of monitoring, providing

insight into server availability,

performance and capacity.

Figure 2: Real—time performance dashboard

Figure 3: Real-time dashboard view of system performance

Page 6: Monitoring Best Practices for

6Monitoring Best Practices for Magento

Critical Systems ProtectionIn addition monitoring system vitals at the host level, Tenzing also leverages full host-based intrusion detection and prevention technologies. At this level, critical operating system files are monitored for changes in real-time, including who made the change and what changed with the file. Granular intrusion protection policies are implemented, providing protection against server incursion and compromise, including zero day threats, while providing real-time visibility into compliance.

Magento Application MonitoringMagento application monitoring consists of sets of custom monitors that were developed by Tenzing for monitoring key vitals of a Magento system. Magento application monitoring alerts on different application components on your Magento system such as Apache and Nginx web server performance, PHP processes, and inter-server communications.

Database MonitoringThe MySQL or Percona Server database is at the heart of your Magento solution. Optimal performance takes careful consideration, scrupulous oversight and highly specialized expertise in a variety of areas including storage management, backup and recovery management and data management.

The following is a list of key performance metrics that should be tracked and analyzed on an ongoing basis to ensure the optimal performance of your underlying database:

• Database Availability• Error log monitoring• Database failed jobs• Database performance:• Inefficient SQL• Blocking locks• Database backup assurance• Partition monitoring• Replication monitoring• Cluster monitoring• Log shipping monitoring

In addition, it is critically important to periodically review these metrics with your hosting provider to ensure you stay ahead of issues. For example, at Tenzing apart from daily monitoring of the data base

parameters, we also review these key metrics with customers on a monthly basis. During these meetings we discuss and plan mitigation strategies that ensure that our customers’ database environments performance at peak performance.

Synthetic Transaction MonitoringSynthetic monitoring proactively tests your web, non-web, mobile, streaming and cloud-based applications to validate user action/response functionality across the user experience. Transactions can be executed matching the profile and perspective of your end users, including:

• Geographic distribution• Browser and device types (Chrome, IE, Firefox, mobile devices/ browsers)• Internet connection types (i.e. broadband, dial-up, mobile, etc.)• Content types (i.e. static web content, dynamic web content, and streaming media)

The goal of synthetic transaction monitoring is to accurately gauge the true customer experience generated by your system under a variety of real-world conditions from your customers’ perspective. To this end, synthetic transaction monitoring runs automated synthetic transactions against your eCommerce site from multiple geographic locations, and monitors the health and performance of these transactions against baseline goals that you define. Any observed failure or unacceptable slow response time is then logged and reported, allowing us to identify and help address failures that may affect customer experience while on the site.Customers are provided with a detailed dashboard to analyse and help manage service levels and resources as measured against our customers’ customer experience goals.

Figure 4: Synthetic transaction overall performance view indicating 100% uptime

Figure 5: Individual transaction performance over time

Page 7: Monitoring Best Practices for

7 Dallas | Kelowna | London | Toronto | Vancouver www.tenzing.com

Commerce Performance Manager is an advanced managed service that provides an unparalleled level of application performance management for your Magento store. It represents the pinnacle of monitoring technology, with the ability to automatically identify the structure and interdependencies of your application code, establish performance baselines for each section of your application

code, and alert when code sections underperform to established baselines. Commerce Performance Manager dramatically speeds up root cause analysis and remediation by identifying the specific section of application code that is driving poor site performance. Commerce Performance Manager provides the following capabilities for Magento:

Visualize and Map Application Dependencies: Commerce Performance Manager automatically discovers and maps all tiers that service and interact within your application. This gives you a high-level view into your application performance far superior to that of other Magento or PHP application performance tools.

Commerce Performance Manager

Commerce Performance Manager is an optional service that we recommend to our customers for each Magento deployment.

Automatic Memory Leak Detection: Commerce Performance Manager helps you detect and troubleshoot memory leaks and object thrash issues, even under production load.

Figure 6: Application flow with performance summary

Figure 9: Memory Leak Detection

Page 8: Monitoring Best Practices for

8Monitoring Best Practices for Magento

Drill Down Into The Complete Call Stack: Unlike other PHP monitoring tools, Commerce Performance Manager collects a complete call stack trace for slow transactions and stalls, allowing you to see how long every line of code took to execute in your server. Find performance bottlenecks in a matter of seconds (instead of hours).

Figure 8: Business Transaction Tracing/Drilldown

Trend PHP Performance Over Time: Use Commerce Performanc Manager’s powerful analytics engine to understand application performance trends over time, using dashboards that are configured for easy viewing.

Figure 7: PHP Performance

Page 9: Monitoring Best Practices for

9 Dallas | Kelowna | London | Toronto | Vancouver www.tenzing.com

As part of the Tenzing Site Tester service, a team of load testing engineers works with our customers to define the parameters and frequency of load test scenarios, as well as executing load testing on their behalf. Typically, customers of Tenzing will target these tests against their production infrastructure at off-peak times ahead of seasonal spikes in demand. In combination with the monitoring solutions described earlier, our customers are able to quickly identify and remediate performance bottlenecks before they impact customers, leading to greater peace of mind and peak revenue performance during these seasonal spikes in customer activity.

Site Tester

Site Tester is Tenzing’s latest addition to its suite of Advanced Managed Services that can be used with solutions both inside, and outside of Tenzing data centers. Tenzing has partnered with SOASTA, a Gartner Magic Quadrant leader in Integrated Software Quality Suites, to help customers effectively manage load on their ecommerce websites during peak seasons and marketing campaigns.

Site Tester is designed to build, execute, and analyze performance tests on a single, powerful, intuitive platform. It can scale the tests to any load testing requirement, up to millions of geographically dispersed mobile or web users. This solution will help customers determine their site readiness and uncover any infrastructure or application resources that will need to be upgraded to handle the increased load.

Figure 10: Site Tester Performance Dashboard View

Page 10: Monitoring Best Practices for

10Monitoring Best Practices for Magento

The combination of a comprehensive monitoring solution and proactive load testing tailored to your Magento environment can have an immediate and beneficial impact on your ecommerce revenues. This combination ensures that you are proactively addressing performance issues before they impact your customer experience, enabling your organization to capitalize on peak periods of demand, establish brand affinity and loyalty, and generate positive word of mouth marketing.

CONCLUSION

For more information, please reach out to Tenzing at 877-767-5577 or email us at [email protected].

Global Intrusion MonitoringGlobal intrusion detection systems reside at the edge of Tenzing data center networks. At this level, Network traffic is monitored and billions of events are analyzed using signature and behavior based correlation, as well as threat scenario modeling. Incident identification is based on a global view of thread activity across thousands of customer environments. If suspicious patterns appear, our operations team is notified to investigate, where potential threats can be quickly remediated. A broad spectrum of threats are identified before ever making it into a Tenzing data center.

Figure 11: Network Threats