Performancee statistics

Re: Performancee statistics

by Juan Daniel Burró Aláez -
Number of replies: 2
In case anyone may find it useful we finally decided to go with nginx and fpm.
We did miss XSendFile with nginx that give us a big  increase in performance. Also we found 
pm.max_children = 5 too small, so we increased it to 20.
However we've found a bottleneck in network communication between Moodle and our DB that can be seen as peaks in our graphic (increase in request time). It's just 100Mb/s and we will increase it to 1GB.


We also tested with 1500 users and we get aproximately 150 req/s (Moodle pages) with average request times of 1 sec.  Activating APC as App cache (we use just one frontend) and Redis for session cache we improve request times for just 10%, however the machine feels more stable (cpu). 
Average of ratings: Useful (2)
In reply to Juan Daniel Burró Aláez

Re: Performancee statistics

by Juan Luis Maestre -
Hi Juan Daniel, we've in our production environment nginx + php-fpm7.2 giving us good results. 7 x (4 vcpus + 8 GB RAM). In our case we don't use docker

In load tests a few weeks ago we can manage a lot of users doing quizzes (around 6k) with 5 minutes of ramp up:
http_req_duration: avg=25.64ms min=2.17ms med=13.84ms max=2.16s p(90)=38.65ms p(95)=85.15ms

requests/minute

For us, the key is to have a backend layer as optimized and tuned as possible. Memcached, opcache, ... and of course, a powerful database with a good connection to the frontends

We are currently testing ARM-based frontends with very good results (about 20% performance improvement vs. x86-64)
Average of ratings: Useful (3)
In reply to Juan Luis Maestre

Re: Performancee statistics

by Juan Daniel Burró Aláez -
Thank you Juan Luis. We improved our testing as we had some network delays than distort our graph (response time). Now we get like 200 views / second that it's more or less 200views * 30req/views = 6000 req/second, really far away from your statistics! What I don't understand is that we don't use almost frontend RAM (2-3GBytes) but our frontend CPUS are 100% full. Database is ok.