also if you can setup an external timer \timing , along with explain analyse to get total time, it would help if everything else is same.
I have seen some threads thar mention added startup cost for parallel workers on windows but not on Linux.
But I do not want to mix those threads here, but just FYI.
On Fri, Jun 4, 2021, 6:12 PM David Rowley <dgrowleyml@xxxxxxxxx> wrote:
On Fri, 4 Jun 2021 at 23:53, Taras Savchuk <taras@xxxxxxx> wrote:
> My real life test is to "register" 10 _same_ documents (провести документы) in each of 1C/PostgreSQL DBs. Both PostgreSQL DBs are identical and just before test imported to PostgreSQL via application server (DT import).
> On Windows Server test procedure takes 20-30 seconds, on Linux it takes 1m-1m10seconds. PostgreSQL VMs are running on same Hypervisor with same resources assigned to each of them.
> Tuning PostgreSQL config and/or CentOS don't make any difference. Contrary on Windows VM we have almost 3x better performance with stock PostgreSQL config.
>
> Any ideas what's wrong? For me such a big difference on identical databases/queries looks strange.
It's pretty difficult to say. You've not provided any useful details
about the workload you're running.
If this "register 10 _same_ documents" thing requires running some
query, then you might want to look at EXPLAIN (ANALYZE, BUFFERS) for
that query. You might want to consider doing SET track_io_timing =
on; Perhaps Linux is having to read more buffers from disk than
Windows.
David.