CMSMS Performance Comparison
Posted: Sun Jul 31, 2011 6:02 am
So... just to get some benchmarks as to how much performance has improved I threw together a little script that would use wget to request a CMSMS page, and grab the performance statistics. And do this 100 times (with a 5 second delay).
I cleared the cache on my stock (virgin) CSMSMS 1.9.4.2 install, and on my stock new install of CMSMS 1.10 SVN. then ran my script on both installs and saved the results. Both of these installs are on my ubuntu LAMP VM running from my desktop machine... so it's not 'quite' a real world experience, but it is fairly close. There is no eaccelerator or other opcode cache on this machine it's a 'stock' ubuntu 10.04 server with the necessary php modules installed to run my various CMSMS modules. My VM is open to the internet, and I have multiple CMSMS installs on it, but it gets very little traffic from the outside (usually only when somebody is helping me to test something).
I then entered the admin interface on both installs, and turned on menu manager caching, and then completely cleared the cache, and re-ran the scripts. When they were done I cleaned up the data (the ascii files needed some parsing to remove html comments etc, and convert it into a CSV file for passing into open office calc.
After all the data was in open office calc I figured out how to create some charts, and created two. The first one shows the amount of php time required to generate the page. The second chart shows the peak memory used to generate the page.
You can see here: http://www.cmsmadesimple.org/uploads/charts.pdf (simple PDF file) that there has been a steady, and significant reduction in processing time required, and a steady and very significant reduction in the memory required to generate a stock page. This is great news for CMSMS and finally starts to quantify the improvements that have been made over the past few versions.
I can share the simple script I used, and the original spreadsheet used to generate the graphs if anybody is interested.
Your thoughts?
Edit:
I modified my spreadsheet today to output some statistics so that I can get a few simple numbers.
PHP Time (over 100 requests)
CMSMS 1.9 (Stock) - Median Time = 0.145353
CMSMS 1.9 With MenuManager Cache - Median Time = 0.124565
CMSMS 1.10 (Stock) - Median Time = 0.136485
CMSMS 1.10 With MenuManager cache - Median Time = 0.1186975
CMSMS 1.10 Stock improved performance over 1.9.4.2 stock by 6.10%
CMSMS 1.10 With MenuManager cache improved performance over 1.9 Stock by 18.34%
Memory Usage:
CMSMS 1.9 Stock - Median Value = 8933560
CMSMS 1.9 With MenuManager Cache - Median Value = 8057768
CMSMS 1.10 Stock - Median Value = 7982184
CMSMS 1.10 With MenuManager Cache - Median Value = 7135060
CMSMS 1.10 Stock improvement over 1.9 Stock = 10.65%
CMSMS 1.10 with MenuManager cache improvement over 1.9 Stock = 20.13%
These are significant performance improvements, again on a (virtual) machine without other performance improvements like Eaccelerator, mod_cache or anything like that. This is a big deal, hope you will enjoy CMSMS 1.10
I cleared the cache on my stock (virgin) CSMSMS 1.9.4.2 install, and on my stock new install of CMSMS 1.10 SVN. then ran my script on both installs and saved the results. Both of these installs are on my ubuntu LAMP VM running from my desktop machine... so it's not 'quite' a real world experience, but it is fairly close. There is no eaccelerator or other opcode cache on this machine it's a 'stock' ubuntu 10.04 server with the necessary php modules installed to run my various CMSMS modules. My VM is open to the internet, and I have multiple CMSMS installs on it, but it gets very little traffic from the outside (usually only when somebody is helping me to test something).
I then entered the admin interface on both installs, and turned on menu manager caching, and then completely cleared the cache, and re-ran the scripts. When they were done I cleaned up the data (the ascii files needed some parsing to remove html comments etc, and convert it into a CSV file for passing into open office calc.
After all the data was in open office calc I figured out how to create some charts, and created two. The first one shows the amount of php time required to generate the page. The second chart shows the peak memory used to generate the page.
You can see here: http://www.cmsmadesimple.org/uploads/charts.pdf (simple PDF file) that there has been a steady, and significant reduction in processing time required, and a steady and very significant reduction in the memory required to generate a stock page. This is great news for CMSMS and finally starts to quantify the improvements that have been made over the past few versions.
I can share the simple script I used, and the original spreadsheet used to generate the graphs if anybody is interested.
Your thoughts?
Edit:
I modified my spreadsheet today to output some statistics so that I can get a few simple numbers.
PHP Time (over 100 requests)
CMSMS 1.9 (Stock) - Median Time = 0.145353
CMSMS 1.9 With MenuManager Cache - Median Time = 0.124565
CMSMS 1.10 (Stock) - Median Time = 0.136485
CMSMS 1.10 With MenuManager cache - Median Time = 0.1186975
CMSMS 1.10 Stock improved performance over 1.9.4.2 stock by 6.10%
CMSMS 1.10 With MenuManager cache improved performance over 1.9 Stock by 18.34%
Memory Usage:
CMSMS 1.9 Stock - Median Value = 8933560
CMSMS 1.9 With MenuManager Cache - Median Value = 8057768
CMSMS 1.10 Stock - Median Value = 7982184
CMSMS 1.10 With MenuManager Cache - Median Value = 7135060
CMSMS 1.10 Stock improvement over 1.9 Stock = 10.65%
CMSMS 1.10 with MenuManager cache improvement over 1.9 Stock = 20.13%
These are significant performance improvements, again on a (virtual) machine without other performance improvements like Eaccelerator, mod_cache or anything like that. This is a big deal, hope you will enjoy CMSMS 1.10