On July 22, 2007, Huazhong Normal University performed a LAMS test with 180 concurrent users using three different lessons. Each lesson had between 15 to 30 activities.
Huazhong Normal University has very large courses and they wanted to test LAMS' performance with large numbers of students using lessons at the same time. Therefore the importance of simulate a test with more than 150 concurrent users.
The server specifications were as followed:
- 2 CPU Intel Xeon 3.2 Ghz
- 3GB RAM
- 73G SCSI hard disk
- Red Hat AS 4 u2
- Java 1.5.0_12
- LAMS 2.0.3/JBoss 4.0.2
- MySQL 5.0
- Wildfire 2.6.2
- Apache 2.0.52
The test was run twice during the day, with 180 concurrent users in the morning and the same in the early afternoon.
JVM memory allocation settings:
JAVA_OPTS="-server -Xms128m -Xmx2048m -XX:MaxPermSize=256m"
While LAMS was having almost 200 concurrent users, the CPU load remain low with sporadic picks. The memory usage remain stabled and only once we had more than 24 MySQL connections throughout both tests. LAMS performance very well and could have handled a lot more users. The charts below show the CPU, Memory and MySQL connections usage throughout both tests:
See excel spreadsheet for further details.
- CPU %idle figures were taken at 60 second intervals in the first graph, and 30 second intervals in the second graph.
- Server remained within CPU and RAM limits; swap space wasn't used at all
- The server also had a GUI, with Firefox open during the lessons (but as noted above, server was not CPU/memory bound)
- The shape of the %idle and mysql connection graphs suggest the most server activity was concentrated at the start of the lesson, but flattened out as the lesson progressed. This might be due to each student progressing through activities at their own pace, after the initial period with everyone logging in and starting sequences.