When I finally got through to the WordPress admin, I immediately saw the problem: although the caching plugin was installed and activated, caching was turned off in the plugin’s settings page. Talk about a dumb mistake…
There are a few free load testing services that are good for catching problems with caching or concurrency. I've used http://blitz.io/ before going live to tune my caching and have survived a few HN front-pages.