Matomo Performance on AWS & Best Practices

I am using Matomo Tracking code & Matomo Tag Manager code with MariaDB for my website running on AWS EC2 instance.

My peak expected website traffic is around 7000 concurrent users. Assuming the site visitors are doing multiple actions, my Matomo Server/MariaDB needs to have the capacity to handle the load generated in such a scenario.

I am looking for suggestions on deployment/operational best practices for Matomo server/Maria DB from folks who have gone through this exercise before

Specifically, ideas around load balancing, fault tolerance, high availability (cannot afford Matomo/MariaDB to go down especially if the website is still serving customers )

Some thoughts I had on this…duplicate the Matomo/MariaDB pair, front end it with a load balancer, ensure full bi-directional replication of MariaDB. MariaDB is stateful and cannot afford to miss any transactions. Is this an overkill? Any simpler ideas?

Thanks in advance!

Hi Praz,

my experience show up there is a limited support in this forum regarding performance topics.

Here some thoughts and please correct me if I’m wrong.

  1. as a Matomo instance I do not care so much about concurrent users. For me it’s more about how many tracker requests per second plus requirements for archiving cronjob
  2. recently I doubled up the CPU amount for the Matomo instance. Now 24 instead of 12 CPUs. All unregular 503 are gone.
  3. apart of this everything is pretty much standard