SOLVED
It had nothing to do with the database it turns out. I discovered this after testing with another system pointing to the same database. The culprit (drum roll): "header-logo.png". It was somehow corrupted and causing this error (which I failed to notice):
22:28:53.779 Language.getLanguage: Adding Language=es, Country=CO, Locale=es_CO [31]
sun.awt.image.PNGImageDecoder$PNGException: Broken file
at sun.awt.image.PNGImageDecoder.pngassert(PNGImageDecoder.java:94)
at sun.awt.image.PNGImageDecoder.handleChunk(PNGImageDecoder.java:107)
at sun.awt.image.PNGImageDecoder.getData(PNGImageDecoder.java:726)
at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:252)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
sun.awt.image.PNGImageDecoder$PNGException: Broken file
at sun.awt.image.PNGImageDecoder.pngassert(PNGImageDecoder.java:94)
at sun.awt.image.PNGImageDecoder.handleChunk(PNGImageDecoder.java:107)
at sun.awt.image.PNGImageDecoder.getData(PNGImageDecoder.java:726)
at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:252)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
and subsequent attempts to run would show a timeout error in ImageElement.waitForLoad (Image image)
So it was the timeout (about 30 seconds) causing the performance problem. I do not know why header-logo.png is connected.'
- A