A quick look at GC logs on wdqs1004 show that almost 5% of time is spent in GC. That seems pretty high. During the last week, 2 full GC took more than 20 seconds (not good, but if it is only 2 times per week, we can probably live with it). Over the same time frame, heap after GC almost always go back to less than 8GB, with a minimum of around 2GB, this indicates that we probably have oversized the heap by a factor between 2 and 8.
The first step is probably to reduce the heap to 10GB and go further down from there.
Also note that we are using G1 on wdqs, which I personally understand much less than the more traditional GCs...