I run a MySQL based portal. I am currently on
server version: 4.1.22-standard-log
My portal is on a dedicated server with the following processor and memory
Processor: Intel E4500 Dual Core
Memory: 2GB DDR SDRAM
I do not have significant traffic. At peak hours, I have 20-30 hits a minute. During these hours I see the CPU usages for mysqld consistently in the range of 120% to 150% when I use top command. When I use htop, I see mysql processes at 100% - I am not very familiar with Linux, so I am unable to judge how bad this is. I have not seen a serious degradation in response time for the http requests as yet. However, the hits are likely to go up and I need to understand the implications.
The database is not very well designed and I am looking at areas of problems. Mostly, I do not use joins. But there are successive queries (4 to 5) to the database to come up with each http response. The tables sizes are not huge, 15-20 thousand rows in the largest of the tables.
I would appreciate some advice as to how bad the CPU usages are and what can I do to make this more efficient.
Thanks for your help.
The table are mostly normalized. I am reviewing indexes to see if I need to put some. However, to implement changes or to upgrade will take a little of time.
Since, I do not see a significant performance problem as yet, I have not worked towards fixing this. I would like to understand, how bad is the CPU usage.
You might want to consider upgrading your mysql version, the current "Generally Available" release of the community edition (the free version) is 5.1
Have all the tables been normalised?