From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | pinker <pinker(at)onet(dot)eu>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: dirty_ratio & dirty_background_ratio settings with huge memory |
Date: | 2018-03-07 07:22:22 |
Message-ID: | 1520407342.2421.8.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
pinker wrote:
> Laurenz Albe wrote
> > Yes, you should set vm.dirty_background_bytes and vm.dirty_bytes
> > and not use the *_ratio settings.
> >
> > 2 GB for vm.dirty_background_bytes and 1 GB for vm.dirty_bytes sounds
> > fine.
To repeat (for the archive): it should be the other way round.
> Thank you Laurenz. I was always wondering why not to set bigger window
> between those 2. Because setting dirty_background_bytes seems quite natural
> for me, i.e. start to write asynchronously faster, but why to provoke stalls
> faster? is it not better to stretch the window much wider, like 1GB for
> dirty_background_bytes and for instance 20 GB dirty_bytes? it's the Approach
> 3: Both Ways from
> https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/
I'd say that setting vm.dirty_background_bytes low and vm.dirty_bytes
very high is not a good idea, at least for databases:
- If flushing data to disk in the background can keep up with the write
activity, you're fine. But then you'd also be fine with a lower setting
for vm.dirty_bytes, right?
- If flushing to disk cannot keep up with the write activity, you'll get
an I/O spike when everything is flushed to disk at checkpoint time and
the database may become unresponsive for a while.
The idea behind a low vm.dirty_bytes setting is to avoid one big I/O spike
and have several smaller ones instead.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
From | Date | Subject | |
---|---|---|---|
Next Message | Murtuza Zabuawala | 2018-03-07 07:24:38 | Re: save query as sql file |
Previous Message | Łukasz Jarych | 2018-03-07 07:07:14 | save query as sql file |