(Apress 2006)
Very good book about Java performance testing. It gives you a really good idea about how to deal with performance problems, locate bottlenecks, setup loadtests, tune your applicationserver and so on.

High recommendation!

Special remarkable sections:

  • Performance Testing Phases (Ch.2)
  • Custom Instrumentation (Ch.3)
  • Visualizing Data (Ch.3)
  • Wait-Based Tuning Conclusions (Ch.6)
  • Tuning Example (Ch.6)
  • Tuning the JVM heap (Ch.7)
  • Metric Analysis (Ch.10)

…and a few benchmarks:

  • Typical heap usage: 70% of max heap size (p273)
  • Major garbage collection: max twice an hour (p276)
  • Thread pool usage: never above 80% (p281)
  • Connection pool usage: between 50% and 70% (p283)
  • Cache miss rate: (p284)
    • >30%: resize the cache
    • >60%: rethink caching stategy
    • >90%: discard the cache

Finally: As with most such books, the “short story” at the beginning of each chapter is better to be skipped…