Super Cache treats http://www.example.com differently than example.com. It is happy to cache example.com and serve it back at ~ 1,300 pages per second. It serves http://www.example.com at ~ 6 pages per second. Since they both are the same page that seemed a bit odd. The relivant portion of the debug log shows:
15:41:58 / Output buffer callback 15:41:58 / Buffer is blank. Output buffer may have been corrupted by another plugin or this is a redirected URL. Look for text 'ob_start' in the files of your plugins directory. 15:41:58 / No closing html tag. Not caching. 15:41:58 / Sending 'Content-Type: text/html; charset="UTF-8"' header.
Since the pages are identical ob_start is not likely the issue here. I did check, none of the likely plugins appears has an ob_start. Since it *is* in a sense a redirected URL, that's more likely the problem in this case.
All the .htaccess stuff is straight from the "let me write it for you" wizard. Httpd.conf is indeed configured to look at the .htaccess file. Re-write rules are being used for caching. The tests were all run using Apache's ab utility running on an independent host. The site is running under multi site. The issue is the same weather the site involved is the main one or a mapped site. The MU plugin is (of course) wordpress-mu-domain-mapping. The site is set up for sub-directories rather than sub-domains. Server is Apache 2.2.x. The page being served in the "non-www" case has a time stamp from around midnight (= cache hit). The timestamp on the "www" case changes with each page refresh.
My concern is the "first page" hit on the site if it's a www prefix. Once the first page is loaded, the browser switches over to the non-www and everything is going to go nice and fast. Unfortunately the response on that first hit is pretty important.
I'm guessing that I missed something simple, but it's not clear what. I'd rather not just start randomly changing rewrite rules without some guidance.
Sorry if this has already been covered. Everything I found with a search lead to issues where ob_start was the issue.