REQUIREMENT
To determine what kind of load Pligg can handle, and to test assertions of slowness of Pligg.
Hardware used for testing
We installed Pligg on our P4 2.8GHz duo core CPU with 1 GB RAM, running a more or less default installation of Fedora Core 5 with apache/mysql; the network is our intranet running at 100Mbps.
Test Methodology
- Enter dummy data into pligg database
- Train the Microsoft Web Stress Test Tool on Pligg.
- Run the Microsoft Web Stress Test Tool on Pligg with varying levels of stress.
- Test for memory leaks with a long running test
- Create a comparative report of the data collected in step 3 above.
Entering Dummy Data into pligg database
A small java software was developed to insert dummy data into pligg. The software uses a library class developed previously by Prithvitech to pick words at random from the words dictionary supplied with linux and concatanates these random picks into junk text. With the help of this software, we inserted -
- 50 junk categories
- 50 junk users
- 5000 junk stories of upto a 1000 words each placed randomly into these 50 categories, each story being placed by a user picked randomly from the fifty junk users.
Train the Microsoft Web Stress Test Tool on Pligg.
This involved browsing the Pligg CMS from the browser launched by Microsoft web stress test tool. The training was exhaustive, ind included submitting fresh stories, reading old ones, posting comments, registering users, editing profile, and all other actions that a common user might make with Pligg.
Run the Microsoft Web Stress Test Tool on Pligg with varying levels of stress.
- With large amount of junk test data in database.
- With an almost empty database.
- Comparison between results with an empty database and with a database filled with junk data.
Test for memory leaks with a long running test
To test for memory leaks, we logged output of the unix top command in a long running test (10 hours 28 minutes, 10 simultaneous threads) with lots of junk data in database. The recorded output shows that even 10 hours into the test, by which time there had been approximately 35000 hits, the memory usage increase was not appreciable, and some of that memory usage increase was as cache too. Thus, we can safely say that pligg does not appear to suffer from memory and resource leaks.
Comparative report of data collected
Click here to view the report (10MB). |
Conclusions & Suggestions
For a low load and no data, Pligg does not seem to present problems. The problems crop up only when there's a large amount of data, AND a large number of users simultaneously accessing the site.
This implies that if the site has to be made to handle a large number of simultaneous hits, a look into optimizing it needs to be made.
By a large number of simultaneous users, we mean say 50 users, each making one request every five seconds. This is a very heavy load in real terms. Such loads are faced only by some of the very popular sites, OR in the eventuality of a denial of service attack.
Hopefully, by the time the site becomes so popular as to reach this level of load, there should be a budget for better hardware as well as budget for optimization of pligg.