Do's and Don'ts to Ace Your APM Strategy
Moving to the cloud? A cloud-based architecture will add an extra layer of complexity and management challenges, since there will be additional potential points of failure and bottlenecks outside your control.
Dealing with new infrastructure or 3rd party service providers? They could slowdown your Website.
Adopting an Agile development cycle to increase deployment speed? Now that testing cycles are more rapid than ever, you may release buggier code.
Rolling out a new application or new functionality? You may see geographical response time discrepancies across devices and locations.
These are all common scenarios that should have you rethink your APM strategy.
That said, here are some quick DO's and DON'Ts to help you get started:
DO #1: Oversee business-critical Web transactions both synthetically and in real-time. With synthetic monitoring you can validate Web availability and performance 24x7x365, and identify slowdowns or outages before large volume of users are impacted. With real-time transaction monitoring you can detect bottlenecks, issues and root-cause in real-time.
DO #2: Monitor server-side performance metrics to ensure enough capacity and detect overloaded servers. Track key performance indicators for your mail and application servers (e.g. CPU, memory, processes and services) as well as network statistics.
DO #3: Monitor application response time and throughput (the total number of requests the application server has received per minute). Besides setting up real-time notification to get alerted when thresholds are breached, create a baseline and track evolution and trends over time.
DO #4: Go deep into your application code. Monitor individual traces to rapidly detect underperforming methods, slow database calls, deadlocks or hanging threads. Oversee database response time and throughput as well as database operations by caller (item, inventory, category, etc). You may be surprised at how many times an app problem was actually traced back to a failing SQL query timing out.
DO #5: Measure user satisfaction, utilize Apdex scores to convert measurements into real insight about user satisfaction with your applications in 3 easy to understand levels: “Satisfied”, “Tolerated” or “Frustrated". A score of 1.0 is the best you can get, so if your Apdex starts to drop, it’s time to speed up your Website.
DO #6: Test and measure end-users' experiences across multiple locations. Distance to content location matters, so you want to detect and resolve geographical response time discrepancies early on.
DO #7: Benchmark your competitors. Web speed impacts customer loyalty, conversion rates, Google rankings and consequently marketing costs and revenue. One of the best ways to retain visitors and stay ahead is to assure that your speed outperforms your industry peers.
On the other hand, here are some common mistakes to avoid.
#1: DON'T assume that cloud provider and 3rd party components will always perform well. If there is a glitch, or they slow down, your Web performance could be severely impacted, and customer complaints to your helpdesk will spike. Don't forget to manage cloud providers’ and 3rd party-vendors SLAs and stay on top.
#2: DON'T presume that your internal customers, employees and partners will be more tolerant than external users. In fact, when a business-critical application underperforms (such as Salesforce, HR portal, Web mail) you bet that your boss will be notified. In fact, you are more likely to get yelled at as a result of an internal issue escalated to the top.
#3: DON'T presuppose that one APM report will cut it for all your stakeholders across the board. Your APM solution should give you a wealth of information: response time, throughput, error rates, code-level visibility, server performance, user experience and so on. Since various stakeholders are concerned about different areas of the business, take the time to tailor your reports for each audience.
#4: DON'T take for granted that you will always outperform your competitors. Just because your Website is on par or even faster today, don't rest on your laurels. Your competitors will be working hard to speed up their Websites and so should you.
#5: DON'T focus only on HTTP and HTTPS monitoring. Check DNS services (it can be a huge response time bottleneck) and other key Web app components such as mail or POP services. They can all negatively impact overall end-user experience.
Happy APM monitoring everyone!