Re: effective_io_concurrency on EBS/gp2

From: Claudio Freire <klaussfreire(at)gmail(dot)com>
To: Vitaliy Garnashevich <vgarnashevich(at)gmail(dot)com>
Cc: Gary Doades <gpd(at)gpdnet(dot)co(dot)uk>, Rick Otten <rottenwindfish(at)gmail(dot)com>, pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: effective_io_concurrency on EBS/gp2
Date: 2018-01-31 19:34:18
Message-ID: CAGTBQpYCWStnzsjTrN+vBsEwZHH2PKwO7ybxp_JQv9CsEJj4xw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Jan 31, 2018 at 1:57 PM, Vitaliy Garnashevich
<vgarnashevich(at)gmail(dot)com> wrote:
> More tests:
>
> io1, 100 GB:
>
> effective_io_concurrency=0
> Execution time: 40333.626 ms
> effective_io_concurrency=1
> Execution time: 163840.500 ms

In my experience playing with prefetch, e_i_c>0 interferes with kernel
read-ahead. What you've got there would make sense if what postgres
thinks will be random I/O ends up being sequential. With e_i_c=0, the
kernel will optimize the hell out of it, because it's a predictable
pattern. But with e_i_c=1, the kernel's optimization gets disabled but
postgres isn't reading much ahead, so you get the worst possible case.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Vitaliy Garnashevich 2018-01-31 20:29:09 Re: effective_io_concurrency on EBS/gp2
Previous Message Vitaliy Garnashevich 2018-01-31 16:57:14 Re: effective_io_concurrency on EBS/gp2