Re: can't explain commit performance win7 vs linux : 8000/s vs 419/s - Mailing list pgsql-performance

From Imre Samu
Subject Re: can't explain commit performance win7 vs linux : 8000/s vs 419/s
Date
Msg-id CAJnEWw=bEho92VedK9wOBrB1mAA+9gO08UjxHqHy+vWeULx1gw@mail.gmail.com
Whole thread Raw
In response to can't explain commit performance win7 vs linux : 8000/s vs 419/s  ("t.dalpozzo@gmail.com" <t.dalpozzo@gmail.com>)
List pgsql-performance
my guess:
- maybe the NTFS compression is enabled?  [  "Compress this drive to save disk space” ? ]  [  your test data is ideal for compression:  VALUES ('AAAAAA...... 250 times') ]
- or Windows Samsung Magician extreme settings?  or RAPID mode cache enabled? 
"RAPID mode is a RAM caching feature. Samsung’s RAPID white paper states that RAPID works by analyzing “system traffic and leverages spare system resources (DRAM and CPU) to deliver read acceleration through intelligent caching of hot data and write optimization through tight coordination with the SSD.”


on Ubuntu16.04  (+ Samsung SSD 840 PRO )    I use "Samsung SSD Magician DC "  trim optimization   [ "sudo ./magician -d 0 -T " ]
http://jcutrer.com/howto/linux/samsung-magician-command-line-linux

$ sudo ./magician
================================================================================================
Samsung(R) SSD Magician DC Version 1.0
Copyright (c) 2014 Samsung Corporation
================================================================================================
Usage:  ./magician  [operation] ..

Allowed Operations:
-L[ --list]              Shows a disk(s) attached to the system.           
-F[ --firmware-update]   Updates firmware to specified disk.               
-E[ --erase]             Securely Erases all data from specified disk.     
-O[ --over-provision]    Performs one of the Over-Provisioning related     
                         operations on specified disk.                     
-T[ --trim]              Optimizes specified disk.                         
-S[ --smart]             Shows S.M.A.R.T values of specified disk.         
-M[ --setmax]            Performs SetMax related operations on specified disk.
-W[ --writecache]        Enables/Disables Write Cache on specified disk.   
-X[ --sctcachestate]     Gets the SCT write cache state for specified disk.
-C[ --command-history]   Shows history of the previously executed commands.
-I[ --info]              Displays the disk details to the user.            
-license                 Shows the End User License Agreement.             
-H[ --help]              Shows detailed Help.                              


regards,
 Imre


2016-06-25 18:19 GMT+02:00 t.dalpozzo@gmail.com <t.dalpozzo@gmail.com>:
Hi,
I've postgres 9.5.3 installed on win7 64 bit, and ubuntu 16.04tls 64 bit,  same SSD (evo 850 pro) , two different partitions. Laptop is 3.8Ghz.
I've in each partition a simple database with one table called data256 with one column of 256 char.
I wrote a program using libpq which:
1 connects to 127.0.0.1 to the server
2 drops and recreates the table;
3 executes 2000 times the exec() function with the command  "INSERT INTO data256 VALUES ('AAAAAA...... 250 times')"
I want to commit after every insert of course.
The program is the same both in win and linux; in ansi c, so it's portable.

Performance:
Win7: 8000 write/sec
Linux: 419 write/sec

I don't figure out why such a difference. Also what should I expect? Which one is reasonable?

I compared the two postgresql.conf, they're identical (except obvious things), they're the default ones, I didn't touch them. I just tried to disable ssl in one because it was set but nothing changes.
I didn't go into deeper analysis because the source C file used for test is the same and the two postgresql.conf are identical.

Then, in order to test write / flush without postgres, I made another C program, to open a file in writing, and for 1000 times : write 256 bytes and flush them (using fsync in linux and FlushFileBuffers in win).
Win7: 200 write/sec
Linux: 100 write/sec




Thanks
Pupillo












--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

pgsql-performance by date:

Previous
From: Jeff Janes
Date:
Subject: Re: can't explain commit performance win7 vs linux : 8000/s vs 419/s
Next
From: Suren Arustamyan
Date:
Subject: [PERFORM] Cache performance decreases