Wednesday, July 18, 2012

CPU hunger or how I met Mr. Wordpress

One of my hobbies is also web page design and developement. I also like idea of open source, so I tend to use joomla as my main web page platform. But sure, there are instances, when some other solutions are more suited to users.
So, lately,  customer had need for more "blogging" approach to a web page. So, I decided to give a try to a Wordpress. Installation was super easy. Administrator section is straight forward and really "click'n play". So, I created nice theme, choose needed plugins and we were up and running in no time! Users found adding articles very easy, translation in our language was available from a start. I created nice simple tutorial for users and tought this is done deal!
Man, was I wrong.
After a few months, I got mail from hosting company that CPU usage is too high for this page and they limited CPU usage. So, we had a lot of "page non available" problems etc.
So, research started.
First thing I noticed is, that customer added a lot of galleries on a front page and it seems that plugin I chose made a mess of CPU. So, firstly I removed plugin. Actually I could not do it trough administrator console, since page was not acessible. I simply removed folder with plugin trough FTP. Wordpress is "smart" enough that it notice plugin folder missing and does not make any fuss of it. So, at least this is good. And that is also one hint for all you avid readers.
Anyway, after deletion of plugin, page was at least acessible again and CPU usage went down little bit. Next thing I learned is, that wordpress comes with absolutely no caching or any web page optimization. So I installed additional plugin which take care of optimization. And I replaced galllery plugin with another one, which seems to do fine.

So, what to write in conclusion?
On one hand it seems Wordpress could use some code optimization and they should built some sort of caching in it. But on the other hand it is extremly user friendly. Which is big +.
Use with caution.

No comments: