How to prevent POSTGRES killing linux system from accepting too much inserts? - Mailing list pgsql-performance

From James(王旭)
Subject How to prevent POSTGRES killing linux system from accepting too much inserts?
Date
Msg-id tencent_59F48E3719B4AB494460DF9D@qq.com
Whole thread Raw
In response to Re: weird long time query  (Kaijiang Chen <chenkaijiang@gmail.com>)
Responses Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Merlin Moncure <mmoncure@gmail.com>)
Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Merlin Moncure <mmoncure@gmail.com>)
Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Jeff Janes <jeff.janes@gmail.com>)
Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Jeff Janes <jeff.janes@gmail.com>)
Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Osahon Oduware <osahon.gis@gmail.com>)
Re: How to prevent POSTGRES killing linux system from accepting toomuch inserts?  (Osahon Oduware <osahon.gis@gmail.com>)
List pgsql-performance
Hello,
I encountered into this kernel message, and I cannot login into the Linux system anymore:


Dec 17 23:01:50 hq-pg kernel: sh (6563): drop_caches: 1
Dec 17 23:02:30 hq-pg kernel: INFO: task sync:6573 blocked for more than 120 seconds.
Dec 17 23:02:30 hq-pg kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Dec 17 23:02:30 hq-pg kernel: sync            D ffff965ebabd1040     0  6573   6572 0x00000080
Dec 17 23:02:30 hq-pg kernel: Call Trace:
Dec 17 23:02:30 hq-pg kernel: [<ffffffffa48760a0>] ? generic_write_sync+0x70/0x70

After some google I guess it's the problem that IO speed is low, while the insert requests are coming too much quickly.So PG put these into cache first then kernel called sync.
I know I can queue the requests, so that POSTGRES will not accept these requests which will result in an increase in system cache.
But is there any way I can tell POSTGRES, that you can only handle 20000 records per second, or 4M per second, please don't accept inserts more than that speed.
For me, POSTGRES just waiting is much better than current behavior.

Any help will be much appreciated.


Thanks,
James

pgsql-performance by date:

Previous
From: Piotr Włodarczyk
Date:
Subject: Re: shared memory size during upgrade pgsql with partitions(max_locks_per_transaction)
Next
From: Laurenz Albe
Date:
Subject: Re: Consecutive Query Executions with Increasing Execution Time