The loadtest module is starting to shape up pretty nicely. I've just about finished this aspect of my project, at which point I'll be able to move onto putting resources (i.e. documentation and any necessary patches to core) in place to run Drupal horizontally across multiple servers.
I have my loadtest module in my CVS sandbox if anyone wants to check it out. It uses the simpletest framework fairly extensively to run the tests. There's still a couple of patches that need to get in to it before the loadtest module will properly work with it.
loadtest tests are basically just simpletest test suites but obviously attempting to test how the site reacts to load rather than attempting to break the code. Each run is timed and recorded in a database table. The default test suite works by automatically enabling each module, one at a time, and running the tests at each iteration. You can then take a look at the results of the test run and see if there were any spikes on certain modules.
The second aspect of the module is more for serious benchmarking. You setup several "states" for your site, each state contains a list of modules that are to be enabled and other variable settings (such as whether or not the cache should be enabled). You can then setup a script from the command line to automatically enable one of these states and then run a program like ab2 to load test your site while it's in that state.
So far my mentors have been very helpful, giving me lots of ideas with the project and helping me get more into the Drupal CVS and issue systems. So thanks Khalid, Rok, and Owen for your help so far!
Comments
Good job
Good job.
Here is a link to the loadtest module in Scott's sandbox.
Please give it a spin and see what it does, suggest improvements, ...etc.
Scott, please add links to the patches that need attention from Moshe, and I will ping him about them.
Drupal development and consulting 2bits.com
Personal Baheyeldin
Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.
There are three
There are three issues: