On Sat, Sep 10, 2016 at 3:49 AM, Samir Magar <samirmagar8@xxxxxxxxx> wrote:
Hello,My Application has normally 25 to 30 connections and it is doing lot of insert/update/delete operation.The database size is 100GB.iowait is at 40% to 45 % and CPU idle time is at 45% to 50%TOTAL RAM = 8 GB TOTAL CPU = 4postgresql.conf parametre:shared_buffers = 2GBwork_mem = 100MBeffective_cache_size = 2GBmaintenance_work_mem = 500MBautovacuum = offwal_buffers = 64MBHow can i reduce iowait and CPU idle time. It is slowing all the queries. The queries that used to take 1 sec,it is taking 12-15 seconds.
What changed between the 1 sec regime and the 12-15 second regime? Just growth in the database size?
Index-update-intensive databases will often undergo a collapse in performance once the portion of the indexes which are being rapidly dirtied exceeds shared_buffers + (some kernel specific factor related to dirty_background_bytes and kin)
If you think this is the problem, you could try violating the conventional wisdom by setting shared_buffers 80% to 90% of available RAM, rather than 20% to 25%.
Cheers,
Jeff