Secrets of Performance Tuning Java on Kubernetes by Bruno Borges

Ғылым және технология

Initially, getting Java to run on Kubernetes may seem complicated, but after a few lines of YAML and a bit of work with Docker, you will wonder what all that fuss was. It is easy! Then you start looking at the performance of your Java app in one core, one GB of memory container, and this is when it all very quickly gets murky. Ops, SREs, and Java developers need to be aware of the JVM's inner works when deciding on how to resource their applications. Without this knowledge, it isn't easy to know whether it is best to scale vertically or horizontally for performance and costs. This talk will explore JVM ergonomics, CPU throttling, Garbage Collectors, and how using this knowledge can help you increase performance while reducing costs in the cloud.

Пікірлер: 13

  • @ehsanmorady
    @ehsanmorady2 ай бұрын

    Absolutely outstanding! Many experienced Java developers and SREs might not fully understand how these two disciplines interact. This presentation provides invaluable real-world insights. We definitely need more content like this!

  • @AppActualizadas
    @AppActualizadas5 ай бұрын

    Great presentation @BrunoBorges! 🔥

  • @jayasome199
    @jayasome199 Жыл бұрын

    excellent presentation, i really appreciate your thoughtful talk

  • @1bfrancom
    @1bfrancom Жыл бұрын

    Great presentation @BrunoBorges! Definitely helped me understand the JVM and how to optimize for k8s. Thanks!

  • @user-bi6uq5ev2h
    @user-bi6uq5ev2h Жыл бұрын

    I really appreciate the presentation, You're strong Bruno 👏 💪

  • @aksh1618
    @aksh1618 Жыл бұрын

    Very thorough and helpful, learned a lot of very useful things!

  • @BrunoBorges

    @BrunoBorges

    Жыл бұрын

    Thanks!

  • @rydmerlin
    @rydmerlin Жыл бұрын

    Please remember to restate the questions from the audience.

  • Жыл бұрын

    Super interesting and well presented. I may have missed it but I didn't see any word about request Vs. Limit. I somehow assumed that everything you say applies to limits and we should set request = limit in k8s but would appreciate some feedback on this. Thanks anyway

  • @BrunoBorges

    @BrunoBorges

    Жыл бұрын

    You are right that I do talk about cpu_limit. cpu_request is mostly used for scheduling pods. Now, whether should request = limit, it really depends. In general, it is safe to set request < limit, because at startup and warmup time, the more CPU the JVM can have, the better. After the JVM is up and running, it will generally consume less CPU.

  • @Rundik
    @Rundik8 ай бұрын

    C# sucked so bad so they switched back to java?

  • @ninemirrors
    @ninemirrors7 ай бұрын

    Er, question #2 at 18 minute mark makes no sense. The JVM doesn't select what GC to run, it doesn't have the information to do that. Ok, he's talking about the selection between client class and server class machines.

  • @DanTehranian
    @DanTehranian9 ай бұрын

    So long-winded and slow, even at 1.5x speed. Cut this talk in half and it'll be much more effective.

Келесі