The brutal truth about digital performance engineering and operations

Pure Performance

Andreas (aka Andi) Grabner and Brian Wilson are veterans of the digital performance world. Combined they have seen too many applications not scaling and performing up to expectations. With more rapid deployment models made possible through continuous delivery and a mentality shift sparked by DevOps they feel it’s time to share their stories. In each episode, they and their guests discuss different topics concerning performance, ranging from common performance problems for specific technology platforms to best practices in development, testing, deploying and monitoring software performance and user experience. Be prepared to learn a lot about metrics.

Andi & Brian both work at Dynatrace, where they get to witness more real world customer performance issues than they can TPS report at.

Subscribe to the PurePerformance RSS feed     RSS Feed

Subscribe on iTunes     iTunes

Tweet feedback using “#pureperformance @dynatrace”

Your Hosts: @grabnerandi and @emperorwilson

Andi   Brian

Double Header! Episode 16 & 17 with guest Anita Engleder, DevOps Manager at Dynatrace

As a follow up to our podcast with Bernd Greifender, CTO and Founder of Dynatrace, who talked about his 2012 mission statement to the engineering team: “We go from 6 months to 2 weeks release cycles” we now have Anita Engleder, DevOps Lead at Dynatrace on the mic.

Episode 16: Transforming 6 Months Release Cycles to 1hr Code Deploys

Listen to “016 Transforming 6 Months Release Cycles to 1h Code Deploys” on Spreaker.

Guest Star: Anita Engleder - DevOps Manager at Dynatrace

Anita has been part of that transformation team and in the first episode talks about what happened from 2012 until 2016 where the engineering team is now deploying a feature release every other week, makes 170 production deployment changes per day and can push a code change into production within an hour if necessary. She will give us insights in the processes, the tools but more importantly about the change that happened with the organization, the people and the culture. She will also tell us what she and her “DevOps” team actually contribute to the rest of the organization. Are they just another new silo? Or are they an enabler for engineering to push code faster through their pipeline?

Episode 17: Features and Feedback Loops @ Dynatrace

Listen to “017 Features and Feedback Loops @ Dynatrace” on Spreaker.

Guest Star: Anita Engleder - DevOps Manager at Dynatrace

In this second part of our podcast Anita gives us more insights into how new features actually get developed, how they measure their success and how to ensure that the pipeline keeps up with the ever increasing number of builds pushed through it. We will learn more about the day-to-day life at Dynatrace engineering but especially about the “Lifecycle of a Feature, its feedback loop and what the stakeholders are doing to make it a success”

Related Links:

Dynatrace UFO

Episode 15 - Leading the APM Market from Enterprise into Cloud Native

Listen to “015 Leading the APM Market from Enterprise into Cloud Native” on Spreaker.

Guest Star : Bernd Greifeneder (@berndgreif) - Founder and CTO of Dynatrace

We got to talk with Bernd Greifeneder, Founder and CTO of Dynatrace, who recently gave a talk on “From 0 to NoOps in 80 Days” explaining the “Digital Transformation Story of Dynatrace – the product as well as the company”

The transformation started in 2012 when Dynatrace used to deploy 2 major releases of its Dynatrace AppMon & UEM product to the market. The incubation of the startup Ruxit within Dynatrace allowed engineering, marketing and sales to come up with new ways and ideas that allow continuous innovating. In 2016 the incubated team was brought back to Dynatrace to accelerate the “Go To Market” of all the innovations. A new version of its Dynatrace SaaS and Managed offering is now released every 2 weeks with 170 production updates per day. Many aspects were also applied to all other product lines and engineering teams which boosted the output and raised quality of these enterprise products.

Double Header! Episode 13 & 14 with guest Pat Meenan, Chrome engineer at Google and creator of WebPageTest.org

Episode 13: Pat Meenan (Google and WebPageTest) on Correlating Performance with Bounce Rates

Pat Meenan (@patmeenan) is a veteran when it comes to Web Performance Optimization. Besides being the creator of WebPageTest.org he has also done a lot of work recently on the Google Chrome team to make the browser better and faster.

During his recent Velocity presentation on “Using Machine Learning to determine drivers for bounce and conversion” he presented some very controversial findings about what really impacts end user happiness. That it was not rendering time but rather DOM Load Time that correlates with conversion and bounce rates. In this session we dig a bit deeper into which metrics you can capture from your website and presented them to your business side as an argument for investing in faster websites. Find out which metric you really need to optimize in order to “move the needle”

Related Links:

Using machine learning to determine drivers of bounce and conversion - Velocity 2016


WPO-Foundation Github repository for machine learning

Are there new Web Performance Rules since Steve Souders started the WPO movement about 10 years ago? Do we still optimize on round trips or does HTTP/2 change the game? How do we deal with “mobile only” users we find in emerging geographies. How does Google itself optimize its search pages and what can we learn from it. In this session we really got to cover a lot of the presentation Pat Meenan (@patmeenan) did at Velocity this year.

Related Links:

Scaling frontend performance - Velocity 2016


Google AMP Project

Google AMP Github Repository

Episode 12 - Automating Performance into the Capital One Delivery Pipeline

Guest Star : Adam Auerbach (@Bugman31) - Senior Director of Technology at Capital One

Adam Auerbach (@Bugman31) has helped Capital One transform their development and testing practices into the Digital Delivery Age. Practicing ATDD and DevOps allows them to deploy high quality software continuously. One of their challenges has been the rather slow performance testing stage in their pipeline. Breaking up performance test into smaller units, using Docker to allow development to run concurrency and scalability tests early on, and automating these tests into their pipeline are some of the actions they have taken to level-up their performance engineering practices. Listen to this podcast to learn about how Capital One pushes code through the pipeline, what they have already achieved in their transformation and where the road is heading.

Related Links:

Hygea Delivery Pipeline Dashboard

Capital One Labs

Capital One DevExchange

Episode 11 - Demystifying Database Performance Optimizations

Guest Star 1: Sonja Chevre (@SonjaChevre)- Product Manager of Database & Test Automation at Dynatrace

Guest Star 2: Harald Zeitlhofer (@HZeitlhofer) - Dynatrace Innovation Lab

Do you speak SQL? Do you know what an Execution Plan is? Are you aware that large amounts of unique queries will impact Database Server CPU and also efficiency of the Execution Plan and Data Cache? These are all learnings from this episode where Sonja Chevre (@SonjaChevre) and Harald Zeitlhofer (@HZeitlhofer) – both database experts at Dynatrace – pointed out database performance hotspots and optimizations that you many of us probably never heard about.

Related Links:
Watch the Online Performance Clinic -Database Diagnostics Use Cases with Dynatrace

Episode 10 - RESToring the work/life balance with Matt Eisengruber

Guest Star: Matt Eisengruber - Dynatrace Guardian

Are you still exporting load testing reports into Excel compare different runs manually? Matt Eisengruber – Guardian at Dynatrace – walks us through the life-changing transformation story of one of his former clients who used to spend an entire business day analyzing LoadRunner results.

Through automation, they managed to get her the results when she walks into the office in the morning – giving her more time to do “real” business analyst work instead of doing manual number crunching. Matt shares some insights into what exactly it is they did to automate Dynatrace Load Test comparison, how they created the reports and which metrics they ended up looking at.

KNOW-PRIZE Tweet answer using “#pureperformance @dynatrace”

Question: Real Genius premiered in theatres 36 years ago as of August 7th. It featured characters who loved experimenting and learning. Though they were portrayed as nerds in the movie, people who were very smart but didn’t fit in with society very well, Today they’d be silicon valley celebrities. Today’s question is - What is the connection between Real Genius and Napoleon. Answer: Winner:

PurePerformance Guest Host Series 01: Alois Reitbauer presents From Monolith to Microservices at Prep Sportswear

Guest Host: Alois Reitbauer @AloisReitbauer

Guest Star: Mike Jones, Director of Technology at Prep Sportswear LinkedIn

Alois Reitbauer (@AloisReitbauer) guest hosts - Mike Jones takes us on a journey how the team moved a monolithic application that was built by a remote team to a micro service architecture. Learn how the manage a couple of million lines of code with only 5 people while improving performance and availability. Mike also shares lessons learned on their journey and shares strategies on how to make the transition to micro services while having to keep the lights on for day-to-day business.

Episode 9 - Proactive Performance Engineering in ASP.NET with Scott Stocker

Guest Star: Scott Stocker @sestocker

Scott Stocker @sestocker, Solution Architect at Perficient, tells us the background of a recent load testing engagement on an ASP.NET App running on SiteCore. Turns out that even these apps on the popular Microsoft platform suffer from the same architectural and implementation patterns as we see everywhere else. Bypassing the caching layer through FastQuery resulted in excessive SQL, which caused the system to not scale, but crumble. Scott tells us how they identified this issue and what his approach as an architect is to proactively identify most common performance and scalability problems.

Related Links:
Diagnosing Sitecore Performance Problems

Episode 8 - A Cloudy Story: Why You Should Worry About Performance in PaaS vs IaaS or Containers

Guest Star: Mike Villiger @mikevilliger

The initial idea of the Cloud has long become commodity – which is IaaS. Containers are the current hype but still require you to take care of correctly configuring your container that will run your code.

Mike Villiger (@mikevilliger) – a veteran and active member of the cloud community – explains why it is really PaaS that should be on top of your list. And why monitoring performance, architecture and resource consumption is more important than ever in order for your PaaS Adventure not to fail.

KNOW-PRIZE Tweet answer using “#pureperformance @dynatrace”

Question: How many average gallons per month of beer has the dynatrace waltham office consumed in the last 12 months Answer: Winner:

Related Links:
The incestuous relations among containers orchestration tools Online Perf Clinic - Metrics-Driven Continuous Delivery with Dynatrace Test Automation

Double Header! Episode 6 & 7 with guest Richard Dominguez, Developer in Operations for Prep Sportswear

Episode 6: How to sell performance to Marketing with Richard Dominguez

Have you ever wondered how to argue with a marketeer about not releasing a new feature or running a campaign? Or, on the contrary: how can you show a marketeer that performance engineering and monitoring is as critical to the success of a campaign as the marketing campaign itself? Richard Dominguez, Developer in Operations at PrepSportswear, is enlightening us about how his DevOps team is cooperating with marketing to have a better shared understanding between business and technical goals!

KNOW-PRIZE Tweet answer using “#pureperformance @dynatrace”

Question: What computer performance related action figure does Brian regret not getting when he had the chance? Answer: Winner:

Related Link:
Using heat maps to obtain actionable application-user insights

Episode 7: Attack of the Bots & Spiders from Mars with Richard Dominguez

In Part II, Richard Dominguez, Developer in Operations at PrepSportswear, is explaining the significance of understanding and dealing with bot and spider traffic on their eCommerce site. He explains why they route search bot traffic to dedicated servers, how to better serve good bots and how to block the bad ones. Most importantly: we learn about a lot of metrics he is providing for the DevOps team, as well as the marketing teams, to run a better online experience!

Episode 5 - Top .NET Performance Problems

Microsoft is doing a good job in shielding the complexity of what is going on in the CLR from us. Until now Microsoft is taking care to optimize the Garbage Collector and tries to come up with good defaults when it comes to thread and connection pool sizes. The problem though is that even the best optimizations from Microsoft are not good enough if your application suffers from poor architectural decisions or simply bad coding.

Listen to this podcast to learn about the top problems you may suffer in your .NET Application. We have many examples and we discuss how you can do a quick sanity check on your own code to detect bad database access patterns, memory leaks, thread contentions or simply bad code that results in high CPU, synchronization or even crashes!

KNOW-PRIZE Tweet answer using “#pureperformance @dynatrace”

Question: What is the first programming language Andi Grabner used? Answer: Winner:

Related Links:
C# Performance Mistakes – Top Problems Solved in December

Episode 4 - Top Java Performance Problems

The Java Runtime has become so fast that it shouldn’t be the first one to blame when looking at performance problems. We agree: the runtime is great, JIT and garbage collection are amazing. But bad code on a fast runtime is still bad code. And it is not only your code but the 80-90% of code that you do not control such as Hibernate, Spring, App-Server specific implementations or the Java Core Libraries.

Listen to this podcast to learn about the top Java Performance Problems we have seen in the last months. Learn how to detect bad database access patterns, memory leaks, thread contentions and – well – simply bad code resulting in high CPU utilization, synchronization issues or even crashes!

KNOW-PRIZE Tweet answer using “#pureperformance @dynatrace”

Question: What is the first computer co-host Brian ever used? Answer: Winner:

Related Links:
Top Tomcat Performance Problems: Database, Micro-Services and Frameworks
Top Tomcat Performance Problems Part 2: Bad Coding, Inefficient Logging & Exceptions
Tomcat Performance Problems Part 3: Exceptions, Pools, Queues, Threads & Memory Leaks

Episode 3 - Performance Testing in Continuous Delivery / DevOps

How can you performance test an application when you get a new build with every code check-in? Is performance testing as we know it still relevant in a DevOps world or do we just monitor performance in production and fix things as we see problems come up?

Continuous Delivery talks about breaking an application into smaller components that can be tested in isolation but also deployed independently. Performance Testing is more relevant than ever in a world where we deploy more frequently – however – the approach of executing these tests has to change. Instead of executing hourly long performance test on the whole application we also need to break down these tests into smaller units. These tests need to be executed automatically with every build – providing fast feedback on whether a code change is potentially jeopardizing performance and scalability.

Listen to this podcast to get some new insights and ideas on how to integrate your performance tests into your Continuous Delivery Process. We discuss tips&tricks we have seen from engineering teams that made the transition to a more “agile/devopsy” way to execute tests.

Episode 2 - What is a load vs performance vs stress test?

Guest Star: Mark Tomlinson @mark_on_task

Have you ever wondered what other people mean when they talk about a performance or load or stress test? What about a penetration test? There are many definitions floating around and things sometimes get confused. Listen to this podcast and let us clarify for you by giving you our opinion on the different types of tests that are necessary when testing an application. In the end you can make up your own mind what best term to use

Episode 1 - Performance 101: Key Metrics beyond Response Time and Throughput

If you are running load tests it is not enough to just look at response time and throughput. As a performance engineer you also have to look at key components that impact performance: CPU, Memory, Network and Disk Utilization should be obvious. Connection Pools (Database, Web Service), Thread Pools and Message Queues have to be part of monitoring as well. On top of that you want to understand how your individual components that you test (frontend server, backend services, database, middleware, …) communicate with each other. You need to identify any communication bottlenecks because of too chatty components (how many calls between tiers) and to heavy weight conversations (bandwidth requirements).

Listen to this podcast and learn which metrics you should look at while running your load test. As performance engineer you should not only report that the app is slow under a certain load but also give recommendations on which components are to blame

Join the Dynatrace platform now!

Try for free Contact us