We tested Moodle for 50 concurrent users using JMeter with following details
System hardware : Intel Core 2 Duo T8100 @ 2.10 GHz, 2.09GHz
2 GB RAM
Test Case : 50 users concurrently accessed login page, entered credentials and then logged out. Requests were distributed over 1 second (i.e. 1 second ramp).
JMeter test case file is attached here for further reference.
Result :
----------------------------Activity -------------------------------90% line(ms) ------------error %
1) home page view before login -------------------------7873-------------------------0
2) login page view --------------------------------------------1393------------------------0
3) login info submission -------------------------------------26985---------------------- 0
4) home page view after login ----------------------------28334---------------------- 0
5) logout--------------------------------------------------------- 696------------------------- 0
6) home page view after logout --------------------------23413---------------------- 0
During the test case execution average CPU consumption by Apache was 95 % .
But RAM was consumed about 700 MB
Is that obvious ? Or CPU consuption by Apache is it too high?
Additional Info:
eAccelerator is used with following settings in php.ini
extension=eaccelerator.dll
eaccelerator.shm_size = "64"
eaccelerator.cache_dir = "C:\xampp\tmp"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.debug = "0"
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "10"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_Xonly= "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
eaccelerator.admin.name=
eaccelerator.admin.password =
Please let me know if any other information is required.
In reply to Harmeet Saini
Re: Performance problems with 50 concurrent users
Just a quick thought about missing information:
- OS version / OS bits?
- PHP version?
- Moodle version?
Also something to quick test (eAccelerator related):
- eaccelerator.shm_size = "128" (specially if using Moodle 2.0 and/or 64 bits architecture)
- eaccelerator.check_mtime = "0" (specially if using Windows)
- eaccelerator.optimizer="0" (I think the optimizer doesn't use to work since some time ago, not 100% sure).
And one quick side-comment:
Of course, it's important to verify that the webserver allows at least 50 requests to be processed simultaneously. Else, they are getting queued and the test/results aren't really useful.
Ciao
- OS version / OS bits?
- PHP version?
- Moodle version?
Also something to quick test (eAccelerator related):
- eaccelerator.shm_size = "128" (specially if using Moodle 2.0 and/or 64 bits architecture)
- eaccelerator.check_mtime = "0" (specially if using Windows)
- eaccelerator.optimizer="0" (I think the optimizer doesn't use to work since some time ago, not 100% sure).
And one quick side-comment:
Of course, it's important to verify that the webserver allows at least 50 requests to be processed simultaneously. Else, they are getting queued and the test/results aren't really useful.
Ciao
In reply to Eloy Lafuente (stronk7)
Re: Performance problems with 50 concurrent users
by Harmeet Saini -
Operating System : Windows Server 2003, 32 bits
PHP version 5.2.9
Moodle Version: 1.9.2 +
And yes Apache is configured to handle 300 concurrent users.
PHP version 5.2.9
Moodle Version: 1.9.2 +
And yes Apache is configured to handle 300 concurrent users.
Sounds about right from my experience. The quickest fix is probably to increase the RAM - a lot. 2GB for Moodle on a Windows server is nothing.
Better yet - put 'nix on it.
Better yet - put 'nix on it.