Open Source Enterprise Solutions

Open Source Journal

Subscribe to Open Source Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Open Source Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Open Source Journal Authors: Pat Romanski, Elizabeth White, Liz McMillan, Patrick Hubbard, Matt Davis

Related Topics: Open Source Journal, DevOps Journal

DevOpsJournal: Blog Post

Research Findings: App Performance and Monitoring | @DevOpsSummit #APM #Agile #DevOps

594 IT professionals responded to DZone’s 2016 Performance and Monitoring survey

After surveying nearly 600 IT professionals for our latest Performance & Monitoring research guide, we found some very interesting takeaways and data points. Here is a breakdown of the demographics of those who responded:

  • The top three industries in which the survey takers work are Software Vendors (22%), Finance/ Banking (14%), and E-Commerce/Internet (9%)
  • The primary roles included Developer Team Leads (39%) and Development/Engineering roles (36%)
  • 26% work at a company with more than 500 people; 22% work where there are more than 10,000 employees
  • 41% of respondents work at companies whose headquarters are located in Europe; 32% in the USA
  • Respondents have years of experience as IT professionals, with 51% having over 15 years' experience

Here are the key research findings:

Software and Infrastructure Still Have Frequent Performance Problems
When asked about the last time they solved a performance problem in their software, most respondents (26%) answered that they had done so "this week," which was a similar result compared to 2015's survey. The second most popular answer this year was "in the last 3 months" at 23%, followed by "in the last two weeks" at 17%. All in all, 81% of respondents answered "in the last 3 months" or less, showing that software still has frequent performance problems that developers need to address. Application code (43%) remains the area of the technology stack that tends to have the highest frequency of performance issues, while malware remains the one with little to no issues, where 61% of respondents had either very few issues or none at all.

Respondents were also asked to note the last time they had to solve a performance problem in their infrastructure, and the majority (21%) said "in the last three months" followed by "this month" at 17%, and "this week" at 14%. Compared to 2015's survey results, where the most respondents (19%) noted "over a year ago" as the last time they worked on infrastructure performance problems, there is a clear shift to having more frequent performance problems that require immediate attention.

Databases Pose a Challenge; Finding the Root Cause Remains an Issue
There was another shift this year in the technology stack that tends to have the hardest-to-fix performance issues. In 2015, networks (now in 4th in 2016 at 46%) had the most challenging performance issues to fix, whereas this year 51% of the respondents noted that database performance issues were the toughest to fix. The survey takers also listed workload (49%) and application code (47%) as having hard-to-fix performance issues. In contrast, 32% of respondents said that failing/old hardware was the easiest to fix performance challenge, replacing last year's easiest issue to fix: malware.

As applications become more advanced, so do the causes of the issues. Over half (52%) of the survey takers said that finding the root cause of an issue remains the most time-consuming part of fixing a performance-related problem. There does not appear to be any improvement in optimizing this process, as it was also the most time-consuming component in 2015's survey. Another time-consuming aspect includes collecting and interpreting various metrics (36%). On the other end of the spectrum, the least time-consuming component of fixing a performance-related issue remains communication/managing people.

Even though finding the root cause of a problem is the most time consuming component of fixing a performance related issue, the majority (54%) of respondents noted that it takes an average of less than a week for their team to solve a performance related problem. These problems-particularly encountering database related problems such as slow database queries (33%), and too many database queries (27%)-were, on average, encountered on a monthly basis. On the opposite end, 46% of the respondents said they rarely remain in the dark about the root cause of an issue.

Monitoring Tools and Application Logs Are Key
As a whole, respondents said that monitoring tools (32%) discovered the most performance issues. If systems are being monitored and reviewed consistently, then they tend to catch more performance issues than any of the other tools. Those who do not rely on monitoring tools run performance tests to discover performance issues, with 22% of respondents favoring this. Only 8% of the survey takers credited dumb luck for discovering performance issues.

Much like 2015, this year's respondents also favored application logs, as 89% of them said that these were one of the main tools their teams use to find the root cause of a performance problem. The second most commonly used tool for finding the root cause of a performance issue are database logs, with 68% of respondents relying on them. Monitoring, logging, and tests are three of the key components used to help discover problems early enough to fix them before they begin to negatively affect an application's performance.

Simultaneous User Loads Vary for Apps, Few Servers Are Used, and Parallel Execution Is an Afterthought
The answers were pretty evenly split amongst the options when the survey takers were asked what the max simultaneous user load is for the main application their team works on. The majority - only 17% -  said they use 1,001 - 5,000; 13% use 101 - 500; and 12% use 21 - 100. When asked how many servers they use at their organizations, 38% of the respondents said they use fewer than 20 (this included IaaS and on-premises servers).

Over half (57%) of the developers surveyed do not regularly design their programs for parallel execution. When asked which parallel programming frameworks, standards, and APIs they use, 47% said they often used Executor Service (Java), while 33% occasionally use ForkJoin (Java) and 29% occasionally use Web Workers (JavaScript). As for parallel algorithm design techniques used, 63% most often use load balancing. 81% of respondents often use multithreading as their parallel programming model of choice. The respondents noted that they run into concurrency issues (race conditions, thread locks, mutual exclusion) only a few times a year.

Application Performance Is Still Secondary, Though Awareness of It Is Growing
The majority of respondents (56%- though down from 62% in 2015) said that they build their application functionality first, and then they worry about performance. More people this year have performance in mind from the start when building applications, as 41% said that they build performance into the application from the start, which is up from 35% in 2015.

When it comes to monitoring tools used within their organizations, respondents noted that they use many different tools, with 36% using Nagios, 22% LogStash, and 21% using their own custom/homegrown tools. Furthermore, organizations are comfortable with the tools they currently use-60% of respondents said that they are not looking to switch to a new performance monitoring tool within the next 6 months. They also mainly use free and open-source tools, with 56% of respondents preferring this.

Performance Management Is Moving in Aa Positive Direction
Although IT professionals have begun to put more emphasis on the importance of performance monitoring and testing, there are still some challenges that they face. The respondents said that the top challenge in IT infrastructure performance management (58%) is that the staff is spending too much time in firefighting and manual processes. The second biggest challenge, at 49%, is the lack of actionable insights to proactively solve issues. And the third biggest challenge, with 47% of respondents, was the rising cost and complexity of managing heterogeneous IT environments. With the increased and more streamlined use of performance monitoring tools, these challenges will be minimized.

Another component that can be adding to the abovementioned challenges is the separation of development and operations. According to the survey, 61% of respondents said that Dev and Ops have their metrics gathered in separate siloes. Though this is still the majority, this is down slightly from 64% in 2015. The more information is combined and shared amongst teams, the more streamlined performance management will be.

For the full research guide and other insights into performance and monitoring, please visit: https://dzone.com/guides/performance-and-monitoring.

More Stories By John Esposito

John Esposito is Editor-in-Chief at DZone, having recently finished a doctoral program in Classics from the University of North Carolina. In a previous life he was a VBA and Force.com developer, DBA, and network administrator. John enjoys playing piano and looking at diagrams, and raises two cats with his wife, Sarah.