In order to benchmark the API execution per second for
our cloud product we want to test performance for 1200+
client connections and doing some operations. We are
using postgres db in system of 32GB RAM. During the
test execution after sometime we are seeing db crash
because of out of memory issue.
We tried to use pgbouncer to resolve the issue but no luck.
Do we have any solution to support the above requirement
for 1 DB node. Or any configuration setting in pgbouncer
which will help us.
We tried to use pgbouncer to resolve the issue but no luck.
Sachin Singh <notsachin@gmail.com> writes:
We tried to use pgbouncer to resolve the issue but no luck.
Which pool_mode did you try? Have you read about the transation
pool_mode yet, and decided if your application is compliant to this one?
--
Dimitri Fontaine
On Thu, 2 Aug 2018 01:46:26 -0700 (PDT), Sachin Singh
<notsachin@gmail.com> wrote:
In order to benchmark the API execution per second for
our cloud product we want to test performance for 1200+
client connections and doing some operations. We are
using postgres db in system of 32GB RAM. During the
test execution after sometime we are seeing db crash
because of out of memory issue.
We tried to use pgbouncer to resolve the issue but no luck.
Do we have any solution to support the above requirement
for 1 DB node. Or any configuration setting in pgbouncer
which will help us.
It probably would be better to ask on one of mailing lists: pgsql-general@postgresql.org
pgsql-performance@postgresql.org
You definitely are making too many simultaneous connections - you need
to limit the number to something reasonable: say a few hundred,
maximum. How many connections you can support depends heavily on your server's configuration [and whether pgbouncer is co-resident. I'm not
a real expert at this, which is why you should ask on the lists.]
Remember that Postgresql creates a new process for every connection:
although the program code and DBMS cache (shared_buffers) are shared,
each connection has its own private state, and extra allocations like work_buffers and temp_buffers, etc. are query dependent.
Unfortunately, server configuration is a black art: it's easy to make configuration choices that run well under certain loads and fail
miserably under others.
George
With session pool_mode out of memory error comes and transaction mode not compliant with my application and with transaction mode my application is showing some errors
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 293 |
Nodes: | 16 (2 / 14) |
Uptime: | 229:01:02 |
Calls: | 6,624 |
Calls today: | 6 |
Files: | 12,171 |
Messages: | 5,318,998 |