testing HS/SR - performance difference primary vs. standby
От | Erik Rijkers |
---|---|
Тема | testing HS/SR - performance difference primary vs. standby |
Дата | |
Msg-id | 29917878e0efe02a50bbc400e6e4034e.squirrel@webmail.xs4all.nl обсуждение исходный текст |
Список | pgsql-testers |
What is the expected difference in (select-) performance between a primary and standby? (v9.0) I expected no difference, but I find large differences. Here is one test: On port 6566 is primary, on port 6566 slave. They are both on an otherwise idle machine. Initialize: pgbench -h /tmp -p 6565 -i -s 10000 replicas Then, after waiting for the standby to catch up: 3x pgbench on primary: pgbench -h /tmp -p 6565 -n -S -c 20 -T 900 replicas tps = 518.854079 (including connections establishing) tps = 563.715825 (including connections establishing) tps = 614.428721 (including connections establishing) 3x pgbench on standby: pgbench -h /tmp -p 6566 -n -S -c 20 -T 900 replicas tps = 272.378369 (including connections establishing) tps = 287.080326 (including connections establishing) tps = 304.373053 (including connections establishing) The postgresql.conf's are almost the same: grep -Ev '^([[:space:]]*#)|(^$)' ... pgsql.sr_primary/data/postgresql.conf:data_directory = '/var/data1/pg_stuff/pg_installations/pgsql.sr_primary/data' pgsql.sr_primary/data/postgresql.conf:port = 6565 pgsql.sr_primary/data/postgresql.conf:max_connections = 100 pgsql.sr_primary/data/postgresql.conf:shared_buffers = 32MB pgsql.sr_primary/data/postgresql.conf:checkpoint_segments = 50 pgsql.sr_primary/data/postgresql.conf:archive_mode = 'on' pgsql.sr_primary/data/postgresql.conf:archive_command= 'cp %p /var/data1/pg_stuff/dump/replication_archive/%f' pgsql.sr_primary/data/postgresql.conf:max_wal_senders = 5 pgsql.sr_primary/data/postgresql.conf:datestyle = 'iso, mdy' pgsql.sr_primary/data/postgresql.conf:lc_messages = 'en_US.UTF-8' pgsql.sr_primary/data/postgresql.conf:lc_monetary = 'en_US.UTF-8' pgsql.sr_primary/data/postgresql.conf:lc_numeric = 'en_US.UTF-8' pgsql.sr_primary/data/postgresql.conf:lc_time = 'en_US.UTF-8' pgsql.sr_primary/data/postgresql.conf:default_text_search_config = 'pg_catalog.english' pgsql.sr_slavery/data/postgresql.conf:data_directory = '/var/data1/pg_stuff/pg_installations/pgsql.sr_slavery/data' pgsql.sr_slavery/data/postgresql.conf:port = 6566 pgsql.sr_slavery/data/postgresql.conf:max_connections = 100 pgsql.sr_slavery/data/postgresql.conf:shared_buffers = 32MB pgsql.sr_slavery/data/postgresql.conf:checkpoint_segments = 50 pgsql.sr_slavery/data/postgresql.conf:archive_mode = 'on' pgsql.sr_slavery/data/postgresql.conf:archive_command= 'cp %p /var/data1/pg_stuff/dump/replication_archive/%f' pgsql.sr_slavery/data/postgresql.conf:max_wal_senders = 5 pgsql.sr_slavery/data/postgresql.conf:datestyle = 'iso, mdy' pgsql.sr_slavery/data/postgresql.conf:lc_messages = 'en_US.UTF-8' pgsql.sr_slavery/data/postgresql.conf:lc_monetary = 'en_US.UTF-8' pgsql.sr_slavery/data/postgresql.conf:lc_numeric = 'en_US.UTF-8' pgsql.sr_slavery/data/postgresql.conf:lc_time = 'en_US.UTF-8' pgsql.sr_slavery/data/postgresql.conf:default_text_search_config = 'pg_catalog.english' Is that large difference expected? (what causes it?) Thanks, Erik Rijkers
В списке pgsql-testers по дате отправления:
Следующее
От: "Erik Rijkers"Дата:
Сообщение: Re: testing HS/SR - performance difference primary vs. standby