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

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 @mtomlinson

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