Mistakes and Trade-offs when optimizing the hot-path

Sdílet
Vložit
  • čas přidán 5. 08. 2024
  • Speaker: Tomasz Lelek
    Recorded: 2021-11-02
    00:00 Intro
    02:25 Talk
    47:20 Q&A
    When we are building our systems, the performance requirements are essential.
    Having SLA’s data, we can build performance tests in a way that allows us to reason about the system before production deployment. An important observation related to many systems is that the code that brings most of the business value often occupies a small percentage of the whole codebase. This observation is based on the Pareto principle and was validated in many business domains, not only software engineering.
    Based on those observations, we can design a process that allows us to find the hot-path in our code. Hot-path is executed for almost all users’ requests. When we detect the hot-path in our code, we can optimize a small subset of our codebase, achieving substantial performance gains. Therefore, we can work more effectively. This presentation will focus on analyzing a system and applying a method based on the Pareto principle, SLA, and performance tests to find and optimize the hot path. Each step will be backed up with performance tests and data to verify that we are progressing with our optimizations in a good direction.
    Tomasz currently works at Datastax, building products around one of the world's favorite distributed databases - Cassandra. He contributes to Java-Driver, Cassandra-Quarkus, Cassandra-Kafka connector, and Stargate.
    Published author of "Software Mistakes and Tradeoffs: Making good programming decisions" that is focusing on real-world problems you may encounter in your production systems. It tries to analyze every situation in a variety of contexts and consider all its tradeoffs. It also presents some non-obvious mistakes that may significantly impact your systems from various perspectives (not only correctness).
    It is available at: www.manning.com/books/softwar...
    Previously worked at Allegro, working on streaming, batch, and online systems serving millions of users.
    Check out:
    GitHub: github_tomaszlelek
    Linkedin: ltomaszlele
    Twitter: @tomekl007
    Organized by: Java User Group Switzerland
    www.jug.ch/
  • Věda a technologie

Komentáře • 1