Solved! Go to Solution.
I was just running through the process described by Gordon and ran into an issue. The solution is simple, but I wanted to post here for posterity
We're using AGS 10.3.1, and caches created at 10.3+ use V2 of the compact cache storage format, described here. When I proceeded with the last step of copying the generated cache, I was simply copying all of the LOD folders inside the _alllayers folder. This resulted in the map service not returning any tiles, and http traffic showed all requests were pending, waiting for available socket.
The solution is to make sure the conf.xml folder at the cache's root director has the 'V2' removed from its storage format element:
It should be esriMapCacheStorageModeCompact for this to work.