Ting som går galt med Java i containers

Martin Lehmann

@theneva

FINN.no

Takeaways

  1. Hva går galt når en "vanlig" utvikler flytter en tjeneste?
     
  2. Hva gjør vi for å forebygge feil?
  • ~1000 req/s i peak
     
  • 6M unike brukere / uke

A tale of CPU and memory

OOMKilled

  • Memory request = 1G
     
  • Memory limit = 1,3G
     
  • Max heap size = 0,6 * Limit = 0,78

Hei 72 CPU-er

  • 64-bit Linux => Java thread stack size?
     
  • Serveren kjører med ~250 tråder i dag

Java >= 8u131

  • -XX:+UnlockExperimentalVMOptions
  • -XX:+UseCGroupMemoryLimitForHeap

By Chagai at English Wikipedia - Transferred from en.wikipedia to Commons., Public Domain, https://commons.wikimedia.org/w/index.php?curid=3839230

Hjelp utviklerne!

Mål!

Kjenn appen din når du flytter!

  • (Hvordan) må JVM-en tunes?
     
  • Skalerer noe (libs?) etter antall CPU-er?
     
  • Hvilke ressurser trenger appen din egentlig?
     
  • Gjør det enkelt å gjøre det riktig!

Martin Lehmann

@theneva
 

FINN.no

@FINN_tech

tech.finn.no

https://www.finn.no/apply-here

Ting som går galt med Java i containers

Ting som kan gå feil med Java i containers

By theneva

Ting som kan gå feil med Java i containers

  • 647