I have a site that have its pages stored in Database as html strings (generated with CKEditor) to enable user to edit them with no HTML knowledge. The site also makes extensive use of images galleries (user requirement so I have no control over it) each page with its gallery. This makes the site very slow. I have read of Yii optimization in Guide and did some query caching which improved load time a bit but it is still slow.
Since it might take as long as month for page to be updated (only when things change) is there a site-wide Yii caching technique to emulate static pages until page have been changed?
I have no control over installing APC or other extensions as I am not admin.
Any optimization idea is welcomed too.
you can see a site here
While it is hard to give you a “definitive answer” the easiest thing you could do (next to doing optimizations mentioned at Yii’s Definitive Guide: Performance) is to use page caching
As you can’t use APC or memcached I suggest you to use a file cache via CFileCache to cache the whole page. As soon as it is updated you should then invalidate the cache via a proper CacheDependency. I’ve used the Flushable cache dependency extension for invalidating a cache using CActiveRecord’s afterSave hook. It is easy to implement and does the job.
EDIT: Just took a look at your site and judging from the menu you are using Bootstrap (maybe using Yii-Booster?). The site is extremely slow indeed, but that might actually be due to an extension publishing its assets on every request. I once had this exact problem with Yii-Booster publishing assets when in DEBUG mode (back then it even happened when DEBUG mode was disabled)(https://github.com/clevertech/YiiBooster/pull/229).