Java Production Performance Engineering

We diagnose and fix difficult production performance problems across Java, JVM, JDBC, transactions, and databases. The work starts with evidence and ends with a root cause your team can verify.

Discuss a Production Problem

Problems We Diagnose

  • Slow or unpredictable requests
  • High CPU and infrastructure cost
  • Memory growth, leaks, and excessive GC
  • JDBC, transaction, and database bottlenecks
  • Concurrency and shared-resource contention
  • Performance problems that resist reproduction

Follow the Evidence Across Layers

A symptom in one layer often begins somewhere else. A depleted JDBC pool may start with transaction scope or a database lock. GC pressure may start with application allocation or retention. High CPU may reflect contention, retries, or queue buildup rather than productive work.

We correlate evidence instead of tuning each component in isolation.

  • Application code and framework behavior
  • JVM execution, allocation, memory, and GC
  • Threads, locks, queues, and concurrency
  • JDBC connections and transactions
  • PostgreSQL query execution and locking
  • MariaDB query execution and locking

Production Engineering Experience

Here are some of the production performance problems we worked on at Google, Apple, and ServiceNow. Details have been anonymized and simplified.

Connection Pool Starvation

Troubleshooting production slowdowns caused by exhausted connection pools and requests waiting for database connections.

MariaDB History List Growth

Tracing history list length growth to an open transaction that prevented old row versions from being cleared.

Production Deadlocks

Troubleshooting deadlocks in production by connecting thread and transaction behavior to the resources involved.

Excessive Garbage Collection

Identifying performance bottlenecks caused by excessive GC, including memory leaks, wasteful logging, and unnecessary in-memory processing.

Bring Us the Hard Problem

Tell us what changed, what you have measured, and where the investigation is stuck.

Discuss the Problem