SharePoint has never been about performance – It’s getting better but there have been some strange performance issues recently.
Caching is enabled in our web.config and we turned compression on using IIS directives.
In addition, use IIS manager and try adding an HTTP Header directive manually.
cache-object: max-age=86400, no-check
This directive instructs the client to use cached objects for 24 hours without checking for updated objects. The no-check could be changed to pre-check or post-check. Post-check would do a background update after the initial load and a pre-check would check each time as if the objects were expired.