We touched upon performance in the last few editions with:
intro to benchmarking in Talk is cheap, show me the numbers! Benchmarking and beyond!
the considerations for making our system Production Ready.
Still, I’m not a performance expert here, so I invited Jarosław Pałka to our webinar. He is an expert.
He’s the Senior Staff Software Engineer responsible for benchmarking infrastructure in Neo4j.
Fun fact: He’s also responsible for me becoming a speaker, as he helped me get first on stage in the SegFault conference he was running. He’s one of the most active members of our Polish IT community, so blame him!
Getting back to performance tests, benchmarking and that fun stuff.
We discussed how to reason about performance practically, so how not to get mad and build performance-aware systems. We focused on the strategies and techniques, not on specific tooling. That you can learn in other places. We went beyond a simple micro-benchmarking showcase.
Jarek explained that we have multiple levels of performance tests:
benchmarking,
latency tests,
throughput tests,
load tests,
stress tests,
endurance tests,
capacity tests,
degradance tests.
He also shared his practical advice on starting with them, not getting mad, and not being too afraid even to try that.
We also discussed marketing and how to apply lessons from Neo4J performance testing to the regular systems!
See also more in the materials Jarek recommends:
Denis Bakhvalov - Performance Analysis and Tuning on Modern CPU
Ulrich Drepper - What Every Programmer Should Know About Memory
Paul E. McKenney - Is Parallel Programming Hard, And, If So, What Can You Do About It?
Webinars:
#2 - Keep your streams short! Or how to model Event-Sourced systems efficiently
#6 - Alexey Zimarev - You don't need an Event Sourcing framework. Or do you?
#7 - Design and test Event-Driven projections and read models
#9 - Radek Maziarka - Modularization with Event Storming Process Level
#11 - Maciej "MJ" Jędrzejewski - Evolutionary Architecture: The What. The Why. The How.
#12 - Jeremy D. Miller: Simplify your architecture with Wolverine
#14 - Mateusz Jendza: Why Verified Credentials is the Future of Digital Identity!
#15 - Mário Bittencourt: Leveraging BPMN for Seamless Team Collaboration in Software Development
#16 - Papers We Love #1 - Sagas (Hector Garcia-Molina, Kenneth Salem)
#18 - Andrea Magnorsky: Introducing Bytesize Architecture Sessions!
#20 - Papers We Love #2 - How do committees invent? (Melvin E. Conway)
#21 - Michael Drogalis: Building the product on your own terms
#22 - On Performance Testing with Jarosław Pałka
#23 - Gojko Adzic on designing product development experiments with Lizard Optimization
Share this post