PMM server requirements

What are the actual system requirements to have PMM server function correctly? I expect some basic formula involving number of monitored hosts to determine the required CPU and RAM.

We tried PMM in Docker initially as a test, and while it worked for one server, when we tried to add several to be monitored it basically stopped collecting any data. It appears the Docker container was overwhelmed, and since that was only meant as a preview we decided to move on with a trial installation in a full VM.

We started the PMM Server VM with 2 CPU and 4GB RAM initially. We have 20 MySQL servers and 3 MongoDB servers that have pmm-client installed and are feeding data to this server. Again, it worked with a few hosts but was showing significant gaps in the data once we had all the hosts added. Seeing the prometheus process is sitting at 200% CPU all the time we increased the VM to 4 vCPU only to see prometheus using 400% CPU all the time and still gaps in the data.

Researching requirements has not come up with much. In the FAQ we found mention that “one host requires 2GB RAM while 20 hosts should be possible with 16GB” but no actual sizing metrics. That one sentence would lead me to expect that there is insufficient RAM, except that there is only ~2.3GB used with ~1.1GB buffers, ~0.5GB free, and 0 swap use. CPU seems to be the bottleneck, but how many servers can be monitored per core, and would more RAM (and some config adjustment to use it) reduce CPU load?

Oh the irony.