| From: | olivier(dot)gosseaume(at)free(dot)fr |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | Re: BUG #13484: Performance problem with logical decoding |
| Date: | 2015-07-06 21:44:54 |
| Message-ID: | 750970196.17190175.1436219094798.JavaMail.root@zimbra72-e12.priv.proxad.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
>> >Are you stopping pg_recvlogical between the runs, or are you letting it
>> >run? The point of using it is that it's a streaming, i.e. that you do
>> >not need to pay to "startup" costs of logical decoding, which can be
>> >noticeable.
>>
>> No, I just let it run. In my case the bottleneck seems to be on server
>> side when spilling to disk. I can see the server build the files but
>> very slowly.
>
>That's odd. It's really just a plain series of writes. I wonder if for
>some reason windows disables write buffering or such?
>
>Ugh, I have a theory. I guess you can't easily recompile postgres with a
>patch and test again? I don't have access to windows...
Thanks for your finding. I can try to recompile on Windows (will look how). In fact I did a test with a tool called "API Monitor" which displays all Windows API calls during postgres execution. What I see is :
- approx 8000 writes
- for each individual write I see a call to FlushFileBuffers() which is very bad for performance, so it is a Windows only issue
>Any chance you could cross check on a unixoid OS? Just to rule out it's
>not some configuration/setup/? issue?
I can try in a virtualbox, but I would prefer to test your patch before if possible
br
Olivier
| From | Date | Subject | |
|---|---|---|---|
| Next Message | olivier.gosseaume | 2015-07-06 21:48:33 | Re: BUG #13484: Performance problem with logical decoding |
| Previous Message | Andres Freund | 2015-07-06 21:23:32 | Re: BUG #13484: Performance problem with logical decoding |