We have upgraded a major project of ours to version 4.0 and have been facing performance problems.
The main issue is performance under load.
The site is has IIS as a reverse proxy.
A standard server (4 or 8 cores, 8 or 16GB of memory) under JMeter with 10 or 20 threads (concurrent users) seems to handle the load fairly well, but when the load goes up to 40 or 50, the average time for a page goes up to 30 seconds and more and so the load test fails.
We do have a lot of plugins in use.
We notice that under increased load, IIS stops receiving responses and waits for a (long) timeout before closing requests (with an HTTP status of 400).
We also notice that the nop.web.exe almost never goes over 50% CPU usage - even under heavy and continuous load.
When the site is using Redis (version 4.0.6), performance drops down even further.
We tried several performance profilers (such as dotTrace, prefix and ANTS), but none seem to provide actionable data over this type of application.
Does anyone have any experience with load testing version 4.0?
Any best practices or suggestions would be welcome.