Sure. Um, well as you know caching is very I/O intensive for enterprise databases. You can try a couple things: First, if you must use your SDE as your source layers, try backing out some of your more intensive layers such as parcels, annotation and the like and run some high-level tiles and check your performance. Then keep adding in layers and labelling combinations until you can find the offending layer. Or, if you can, go ahead and copy your cache layers to a fdgb that resides in your data-store, resource your mxd to those layers, re-publish your service and then re-cache.
For us, I found that for our county basemap, with scales down to 1:600 (for 600 mi2), cached at about 4 hours when running a full 14 caching instances on our gp server. Again, that was when sourced to our enterprise SQL SDE. When I replaced the source to fgdb in our data-store, that time decreased to 20 minutes.
Hope this helps
David