We're facing performance issues in one of our servers which is hosting a website with ~50k users a month.

We've been discussing different options to improve the performance and we're currently using Akamai's reverse proxy service to free the server load by serving cached pages and resources from their global servers.

By doing this we began experiencing some issues with the cache on dinamically driven pages such as "User A try to login but the page renders as if User B is logged in" kind of issues.

Akamai can add exceptions allowing some pages not to be cached, but the problem is we're running joomla and when this website was built, they didn't enabled Pretty URLs, so everything's going through index.php and Akamai CANNOT add exceptions with query strings in it (index.php?var=val).

The current url style is something like this: /index.php?option=com_content&task=blogcategory&id=618&Itemid=1123

In order to add exceptions to akamai, we'd have to enable pretty url's, but the site is HUGE and there's a lot of content with relative resources (img src="templates/....jpg") so if we enable Pretty URLs, the site's images and resources will break (we'd have to fix the whole bunch of content).

Do you guys have any other idea of what could we do? Maybe we didn't think of something and you do?

Have any of you any experience with Akamai cache service?


There's a lot of confusing information here which is mostly irrelevant.

Either a page should be cacheable or it shouldn't. And its up to the server to tell the rest of the world what's cacheable. Yes Akmai can try to clear up some of your mess - but really you should try to solve this yourself.

we began experiencing some issues with the cache on dinamically driven pages

Then either you've told Akmai to ignore the caching information your providing or you're not supplying the correct caching info.

I'm not that familiar with Joomla, but AFAIK, using the out-of-the-box stuff your only options are to switch browser side caching on/off or to enable server-side caching of views/modules. So at this level of granularity you cannot effectively control caching. And even then the level of control is very basic.

The only way to resolve this would be to re-implement a significant part of Joomla to allow fine-grained caching or to implement your own proxy and code in front of Joomla to override the default policy where it's appropriate.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy