home | contact us | BOOKMARK PAGE | MAKE HOMEPAGE

SEO WEBSITE CMS PROJECT

Search Engine Optimized Website Content Management System


Homepage | About | Download | Support | Other CMS Links | Directory | SEO News | Sitemap

Trying to optimize CPU/Memory Performance for SEO Website CMS

date: 2007-06-14 09:17:00
by: Venetsian
Performance before (RED) and Performance now (Green) after the changes

Recently we noticed that our server's CPU Usage was going off the chart for quite short peak times on a regular intervals. This got me interested to look further into that problem and find what was causing this issue. The interesting thing that I found was that those occurrences coincident with RSS feed requests and this immediately brought my attention to our RSS feeds algorithm and its performance.

I've noticed that in order to produce RSS feed, we are generating huge MySQL query that can be as big as 1 MB and all that data is converted and then printed out. This used huge amounts of CPU and Memory for some short period and caused some slow-downs on our server. Actually that wasn't so problematic, but afterall I've descided to improve it and make it quite faster and less CPU intensive....

The thing that is pretty obvious with RSS feeds is that generating them on each request is so dumb, and its just waist of resources especially when you don't have such quickly changing websites. In this situation I've decided to make our RSS generator write into one file - rss.xml and then re-write it when new content is added. This saves so much CPU and doesn't use any memory at all.

The issue wasnt that big, but when I subscribed to Feed-Burner and I have a couple of direct rss subscribers I've noticed that I have RSS request almost every few minutes (they are checking if something new popped out of my blog) and that was really unnecessary. Now with this update we don't have to worry and they can download it as often as they wish without bothering our system.

I think that's a great improvement especially for large websites with a lot of RSS subscribers as this will save them tons of CPU/MEMORY that they can use to boost up their visitor's performance instead. We will continue to monitor for possible faults and we will keep upgrading out algorithms for better performance.

P.S. Wordpress does not use static RSS generation, but they should!