A very broad concept to pin point. On a high level, either your response time or throughput or both will correlate with your GC pauses. In order to understand why it does that, you will need to understand the GC algos. There are sophisticated GC algos which will try to keep this disruptions minimal. For example, CMS GC will try to meet your throughput goal while trying at the same time to meet your response time goal. Both of these are 98% by default. iCMS is much more efficient than CMS. And then if you are using JDK 7u25 and later, the most sophisticated G1 can be used. Starting from JDK 6 and above, ergonomics will try to minimize the effect of GC on your load pattern. But then, you will need to completely understand what your application does and what your requirements are in order to identify GC as bottleneck.