Thank you very much for your explanation. The num_init_children configuration parameter is bigger than concurrent users used in the test. Attached is the results of the test, as you can see with pgbench directly, the TPS amount are almost double. The test was performed over two virtual machines with 4 processors and 2 GB of RAM each one. Pgbech was executed from other machine. Ubuntu Server 16.04, PostgreSQL 9.6.1, Pgpool-3.5.5. Is there any way to increase the pgpool results? Regards. De: David Sisk -X (dsisk - TEKSYSTEMS INC at Cisco) [mailto:dsisk@xxxxxxxxx] Also, the benefits of load balancing don’t tend to show up well with pgbench or sysbench default benchmarks. PGPool imposes some overhead in determining which queries can be load-balanced against a standby…with SELECT queries that execute in only a few milliseconds, it might take PGPool longer to make that decision than it would have to just send it straight to the primary. So, you won’t see the load balancing benefits with SELECT queries that execute in a few milliseconds, but when you send it SELECT queries that take a few seconds or longer to execute you’ll start to see the benefits. You could create a custom benchmark that has some high-reduction queries that would take a few seconds to execute, then run the benchmarks with that…you should then see scalability improvements from the load balancing. Hope this helps,
From: pgpool-general-bounces@xxxxxxxxxx [mailto:pgpool-general-bounces@xxxxxxxxxx] On Behalf Of Lazaro Garcia The correct results reported by sysbench was:
Is there any way to tuning this behavior? Regards De: Lazaro Garcia [mailto:lazaro3487@xxxxxxxxx] After installed Pgpool with 2 postgresql nodes with streaming replication, I have noticed that access directly to postgresql is more efficient than through pgpool. I supposed that load balance could increase the transactions per second executed because each node could receive more load, but the results shown below are not expected. This is the setup: Pgpool 3.6.1 whit connection pooling, streaming replication mode and load balancing mode. 2 PostgreSQL server 9.6.1 whit streaming replication. For the tests I used sysbench and pgbench. The results of sysbench:
The results of pgbench
As you can see in both cases even with load balance, the total transactions per second are lower. Is this the expected behavior. Is there any way to allow more TPS when pgpool is used? There are other publications with similar results: https://www.os3.nl/_media/2011-2012/courses/lia/rory_breuk_gerrie_veerman_-_report.pdf (page 28) http://www.mail-archive.com/pgpool-general@xxxxxxxxxxxxx/msg03326.html Regards |
Attachment:
pgbench_direct.log
Description: Binary data
Attachment:
pgbench_pgpool.log
Description: Binary data
-- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin