> As Aitor suggests, it sounds like this site could really use some > caching that reminisces of Rails' page caching model.
The radiant caching model is actually pretty damn quick - not raw-apache quick, but pretty damn close. Look through the archives for the actual figures from my benchmarks, but my system could push out somewhere around 100 req/sec using radiant's cache compared to 600 req/sec for raw apache. In the grand scheme of things, that performance difference is negligible (from what little data I can find, 100 req/sec would be more than adequate to handle a slashdotting/digging). Performance is about half that if you don't use mod_x_sendfile (I advise using mod_x_sendfile). > Now, I imagine one of the largest slowdowns on your site is > going to be > Page.find_by_url because it is recursive. Page.find_by_url isn't actually that big of a problem anymore. You'll get a db hit for each level of your page heirachy, but that doesn't actually add up to much - again look through the archives for the benchmarks, but I don't think that it starts impacting on your performance until you get quite deep. Also, radiant's caching does not hit the db at all - only non-cached requests have to deal with find_by_url. Radiant used to have a problem with serving up a wide list of pages, but unless you use something that changes the url scheme (ie. ArchivePage) that is no longer a problem - if you do use something like ArchivePage, then you can fix it up by customising the find_by_url method in that page to look up child pages directly (which I should really get around to doing in the core ArchivePage). My site (www.thegroggysquirrel.com) is currently serving ~800 pages, all images (~421 of various sizes) are also served through radiant's caching. My main issue with that many pages is that I have a very wide list of pages (most pages are direct children of either /comics or /articles), so the admin interface takes a while to load that list up. The highest traffic the site's had to deal with is 2,000 visitors a day, but it did that without hiccup (I'm convinced that my bandwidth will give out before radiant does). > Radiant could > really be sped > up by caching the URL in the database, which would reduce lookup time > for most pages, and having the recursive method as a > fallback. If you > want, we can hash over the design of this optimization > together (perhaps > with John and Daniel) and apply it to the core. I'm fairly sure that the speedup there is negligible now that Page.find_by_url isn't so bad.... I think I might have benchmarked that to see whether it was worth doing work on and it came up fine. Dan. _______________________________________________ Radiant mailing list Post: [email protected] Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant
