I'm currently testing odoo deployment in amazon web services. I have odoo installed in a ec2 instance and the database (Postgres) in a rds instance.
I'm starting the tests with the free-tier instances
ec2 - 1 CPU - 1GB RamLaunching a test that confirms 800 invoices takes me around 8-9 minutes to complete
rds - 1 CPU- 1GB Ram
I'm assuming that the bottleneck is caused by the database, since the ec2 instance only has odoo which doesn't do the actual heavy-lifting in the requests.
When I upgrade the rds instance to 2 CPUs and 8 GB of Ram I can see a slight increase in performance, the same test now takes around 6 minutes to complete.
However, when I upgrade the rds instance to 16 CPUs and 122 GB of Ram the increase is almost unnoticeable compared with the previous setting, it takes around 5 minutes 30 seconds.
Is the internal structure of Postgres not taking advantage of the extra CPU and Ram?
We are planning to implement our intranet with Odoo and we're looking at at least 50 concurrent conections at any given time, would the ec2 instance with 1CPU and 1GB of ram , with the rds instance of 2CPUs and 8GB of RAM be enough for that?
Is there any way to increase Odoo's performance? Replicating databases might help with concurrent access but I'm not sure it's possible with Odoo+Postgres, should we use other databases?