Hello Everyone ...

We have 6 PG 9.1.12 installation, one master (Ubuntu 10.04), one slony
slave(Ubuntu 10.04), and four streaming replica (2 on Ubuntu 10.04 and 2 on
RHEL 6.5 (Santiago) which lies on different datacenter). All Ubuntu is on
same datacenter. Master send wal archive to slony slave.

This is the infrastructure description :
200Mbit link between data centers, esx 5.5 on hp blade chassis. proliant
gen 7 blades. postgres servers dedicated to esx hosts (no other vms on
those esx hosts). 3par disk backends with 4 and 8 Gbit fiber channel
connections. 10Gbit ethernet virtual connects on the hp chassis. cisco
fabric and network switches.

All postgres installed from Ubuntu/RHEL package.

Everything works fine until on Thursday we have high load on master, and
after that every streaming replica lag further behind the master. Even on
night and weekend where all server load is low. But the slony slave is OK
at all.

We thought it was due to network, so we decide to copy wal files to local
of a streaming server, and replaying wal from local. After PG restart, it
replays wal on a good speed about 3 seconds per wal file, but as the time
goes the speed decreasing. We had 30 seconds per wal file. The worst we get
is 3 minutes to replay 1 wal file.

The rate of wal produced from master is normal like usual. And also on
Thursday we had wal files on pg_xlog on streaming replica server, but no
other wal files.

This is the configuration :
SELECT name, current_setting(name)
  FROM pg_settings
  WHERE source NOT IN ('default', 'override');
              name              |                  current_setting
--------------------------------+---------------------------------------------------
 application_name               | psql
 archive_command                | /var/lib/postgresql/scripts/wal_archive
"%p" "%f"
 archive_mode                   | on
 checkpoint_completion_target   | 0.7
 checkpoint_segments            | 30
 client_encoding                | UTF8
 DateStyle                      | ISO, MDY
 default_text_search_config     | pg_catalog.english
 effective_cache_size           | 125GB
 effective_io_concurrency       | 3
 external_pid_file              | /var/run/postgresql/9.1-main.pid
 hot_standby                    | on
 hot_standby_feedback           | on
 lc_messages                    | en_US.UTF-8
 lc_monetary                    | en_US.UTF-8
 lc_numeric                     | en_US.UTF-8
 lc_time                        | en_US.UTF-8
 listen_addresses               | *
 log_checkpoints                | on
 log_connections                | on
 log_destination                | csvlog
 log_directory                  | pg_log
 log_disconnections             | on
 log_filename                   | postgresql-%a.log
 log_line_prefix                | %t
 log_lock_waits                 | on
 log_rotation_age               | 1d
 log_rotation_size              | 0
 log_temp_files                 | 100kB
 log_timezone                   | localtime
 log_truncate_on_rotation       | on
 logging_collector              | on
 maintenance_work_mem           | 1GB
 max_connections                | 750
 max_locks_per_transaction      | 900
 max_pred_locks_per_transaction | 900
 max_stack_depth                | 2MB
 max_wal_senders                | 6
 port                           | 5432
 shared_buffers                 | 8GB
 ssl                            | on
 temp_buffers                   | 64MB
 TimeZone                       | America/Chicago
 unix_socket_directory          | /var/run/postgresql
 wal_keep_segments              | 50
 wal_level                      | hot_standby
 work_mem                       | 256MB
(47 rows)

Thanks for any help

-- 
Regards,

Soni Maula Harriz

Reply via email to