Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-06 Thread Mkrtchyan, Tigran

On Jul 6, 2015 18:45, Josh Berkus j...@agliodbs.com wrote:

 On 07/05/2015 10:16 AM, Mkrtchyan, Tigran wrote: 
  Thanks for the hin. My bad. The backup db and 9.5 had a different type on 
  one of the foreign-key constrains char(36) vs varchar(36). 
  
  The schema was screwed couple of days ago, byt performance numbers I 
  checked only 
  after migration to 9.5. 

 Thank you for testing! 

 Can you re-run your tests with the fixed schema?  How does it look? 

With fixed schema performance equal to 9.4. I have updated my code to use ON 
CONFLICT statement. ~5% better compared with INSERT WHERE NOT EXIST. Really 
cool! Thanks.

Tigran.

 -- 
 Josh Berkus 
 PostgreSQL Experts Inc. 
 http://pgexperts.com 


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

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


Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-06 Thread Josh Berkus
On 07/05/2015 10:16 AM, Mkrtchyan, Tigran wrote:
 Thanks for the hin. My bad. The backup db and 9.5 had a different type on
 one of the foreign-key constrains char(36) vs varchar(36).
 
 The schema was screwed couple of days ago, byt performance numbers I checked 
 only
 after migration to 9.5.

Thank you for testing!

Can you re-run your tests with the fixed schema?  How does it look?

-- 
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com


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


Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-05 Thread Tom Lane
Andres Freund and...@anarazel.de writes:
 On 2015-07-05 13:10:51 +0200, Mkrtchyan, Tigran wrote:
 today I have update my test system to 9.5alpha1.
 Most of the operations are ok, except delete.
 I get ~1000 times slower!

 255.88 |  566.11 |   452 | DELETE FROM t_inodes WHERE ipnfsid=$1 AND 
 inlink = ?

 That certainly should not be the case. Could you show the query plan for
 this statement in both versions?

EXPLAIN ANALYZE, please.  I'm wondering about a missing index on some
foreign-key-involved column.  That would show up as excessive time in
the relevant trigger ...

regards, tom lane


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


Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-05 Thread Mkrtchyan, Tigran

And this is with 9.4 in the same hardware ( restored from backup)

   0.35 |0.35 |  1002 | DELETE FROM t_inodes WHERE ipnfsid=$1 
AND inlink = ?
   0.16 |0.16 |  1006 | insert into t_dirs (iparent, iname, 
ipnfsid)  (select $1 as iparent, $2 as iname, $3 as ipnfsid  where not exists 
(select
 ? from t_dirs where iparent=$4 and iname=$5))
   0.15 |0.02 |  8026 | SELECT 
isize,inlink,itype,imode,iuid,igid,iatime,ictime,imtime,icrtime,igeneration 
FROM t_inodes WHERE ipnfsid=$1
   0.06 |0.06 |  1002 | INSERT INTO t_inodes 
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)
   0.04 |0.02 |  2004 | UPDATE t_inodes SET inlink=inlink 
-$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.03 |0.01 |  2000 | SELECT 
ilocation,ipriority,ictime,iatime  FROM t_locationinfo WHERE itype=$1 AND 
ipnfsid=$2 AND istate=? ORDER BY ipriori
ty DESC
   0.02 |0.02 |  1002 | UPDATE t_inodes SET inlink=inlink 
+$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.02 |0.01 |  2006 | SELECT ipnfsid FROM t_dirs WHERE 
iname=$1 AND iparent=$2
   0.01 |0.01 |  1006 | DELETE FROM t_dirs WHERE iname=$1 AND 
iparent=$2
   0.00 |0.00 |  2004 | COMMI

Tigran.


- Original Message -
 From: Mkrtchyan, Tigran tigran.mkrtch...@desy.de
 To: pgsql-performance pgsql-performance@postgresql.org
 Sent: Sunday, July 5, 2015 1:10:51 PM
 Subject: [PERFORM] 9.5alpha1 vs 9.4

 Hi,
 
 today I have update my test system to 9.5alpha1.
 Most of the operations are ok, except delete.
 I get ~1000 times slower!
 
 
 chimera=# SELECT
  (total_time / 1000 )::numeric(10,2) as total_secs,
  (total_time/calls)::numeric(10,2) as average_time_ms, calls,
  query
 FROM pg_stat_statements where userid = 16384
 ORDER BY 1 DESC
 LIMIT 10;
 total_secs | average_time_ms | calls |
 query
   
 +-+---+--
 ---
 255.88 |  566.11 |   452 | DELETE FROM t_inodes WHERE ipnfsid=$1 
 AND
 inlink = ?
   0.13 |0.13 |  1006 | insert into t_dirs (iparent, iname, 
 ipnfsid)
   (select $1 as iparent, $2 as iname, $3 as ipnfsid  where not exists 
 (select ?
   from t_dirs where iparent=$4 and iname=$5))
   0.11 |0.02 |  6265 | SELECT
   
 isize,inlink,itype,imode,iuid,igid,iatime,ictime,imtime,icrtime,igeneration
   FROM t_inodes WHERE ipnfsid=$1
   0.03 |0.03 |  1002 | INSERT INTO t_inodes
   VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)
   0.02 |0.02 |  1002 | UPDATE t_inodes SET inlink=inlink
   +$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.02 |0.03 |   905 | UPDATE t_inodes SET inlink=inlink
   -$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.02 |0.01 |  2000 | SELECT 
 ilocation,ipriority,ictime,iatime  FROM
   t_locationinfo WHERE itype=$1 AND ipnfsid=$2 AND istate=? ORDER BY 
 ipriority
   DESC
   0.01 |0.01 |   906 | SELECT ipnfsid FROM t_dirs WHERE 
 iname=$1 AND
   iparent=$2
   0.01 |0.01 |   453 | DELETE FROM t_dirs WHERE iname=$1 AND
   iparent=$2
 
 
 
 
 chimera=# \d t_inodes
 Table public.t_inodes
   Column|   Type   |   Modifiers
 -+--+
 ipnfsid | character varying(36)| not null
 itype   | integer  | not null
 imode   | integer  | not null
 inlink  | integer  | not null
 iuid| integer  | not null
 igid| integer  | not null
 isize   | bigint   | not null
 iio | integer  | not null
 ictime  | timestamp with time zone | not null
 iatime  | timestamp with time zone | not null
 imtime  | timestamp with time zone | not null
 icrtime | timestamp with time zone | not null default now()
 igeneration | bigint   | not null default 0
 Indexes:
t_inodes_pkey PRIMARY KEY, btree (ipnfsid)
 Referenced by:
TABLE t_access_latency CONSTRAINT t_access_latency_ipnfsid_fkey 
 FOREIGN KEY
(ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_acl CONSTRAINT t_acl_fkey FOREIGN KEY (rs_id) REFERENCES
t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_dirs CONSTRAINT t_dirs_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
 REFERENCES
t_inodes(ipnfsid)
TABLE t_inodes_checksum CONSTRAINT t_inodes_checksum_ipnfsid_fkey 
 FOREIGN
KEY (ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_inodes_data CONSTRAINT

Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-05 Thread Andres Freund
Hi,

On 2015-07-05 13:10:51 +0200, Mkrtchyan, Tigran wrote:
 today I have update my test system to 9.5alpha1.
 Most of the operations are ok, except delete.
 I get ~1000 times slower!

  255.88 |  566.11 |   452 | DELETE FROM t_inodes WHERE ipnfsid=$1 
 AND inlink = ?

That certainly should not be the case. Could you show the query plan for
this statement in both versions?  Any chance that there's a parameter
type mismatch for $1?

Greetings,

Andres Freund


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


[PERFORM] 9.5alpha1 vs 9.4

2015-07-05 Thread Mkrtchyan, Tigran

Hi,

today I have update my test system to 9.5alpha1.
Most of the operations are ok, except delete.
I get ~1000 times slower!


chimera=# SELECT
  (total_time / 1000 )::numeric(10,2) as total_secs,
  (total_time/calls)::numeric(10,2) as average_time_ms, calls,
  query
FROM pg_stat_statements where userid = 16384
ORDER BY 1 DESC
LIMIT 10;
 total_secs | average_time_ms | calls | 
 query  
 
   
+-+---+--
---
 255.88 |  566.11 |   452 | DELETE FROM t_inodes WHERE ipnfsid=$1 
AND inlink = ?
   0.13 |0.13 |  1006 | insert into t_dirs (iparent, iname, 
ipnfsid)  (select $1 as iparent, $2 as iname, $3 as ipnfsid  where not exists 
(select ? from t_dirs where iparent=$4 and iname=$5))
   0.11 |0.02 |  6265 | SELECT 
isize,inlink,itype,imode,iuid,igid,iatime,ictime,imtime,icrtime,igeneration 
FROM t_inodes WHERE ipnfsid=$1
   0.03 |0.03 |  1002 | INSERT INTO t_inodes 
VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)
   0.02 |0.02 |  1002 | UPDATE t_inodes SET inlink=inlink 
+$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.02 |0.03 |   905 | UPDATE t_inodes SET inlink=inlink 
-$1,imtime=$2,ictime=$3,igeneration=igeneration+? WHERE ipnfsid=$4
   0.02 |0.01 |  2000 | SELECT 
ilocation,ipriority,ictime,iatime  FROM t_locationinfo WHERE itype=$1 AND 
ipnfsid=$2 AND istate=? ORDER BY ipriority DESC
   0.01 |0.01 |   906 | SELECT ipnfsid FROM t_dirs WHERE 
iname=$1 AND iparent=$2
   0.01 |0.01 |   453 | DELETE FROM t_dirs WHERE iname=$1 AND 
iparent=$2




chimera=# \d t_inodes
 Table public.t_inodes
   Column|   Type   |   Modifiers
-+--+
 ipnfsid | character varying(36)| not null
 itype   | integer  | not null
 imode   | integer  | not null
 inlink  | integer  | not null
 iuid| integer  | not null
 igid| integer  | not null
 isize   | bigint   | not null
 iio | integer  | not null
 ictime  | timestamp with time zone | not null
 iatime  | timestamp with time zone | not null
 imtime  | timestamp with time zone | not null
 icrtime | timestamp with time zone | not null default now()
 igeneration | bigint   | not null default 0
Indexes:
t_inodes_pkey PRIMARY KEY, btree (ipnfsid)
Referenced by:
TABLE t_access_latency CONSTRAINT t_access_latency_ipnfsid_fkey FOREIGN 
KEY (ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_acl CONSTRAINT t_acl_fkey FOREIGN KEY (rs_id) REFERENCES 
t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_dirs CONSTRAINT t_dirs_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid)
TABLE t_inodes_checksum CONSTRAINT t_inodes_checksum_ipnfsid_fkey 
FOREIGN KEY (ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_inodes_data CONSTRAINT t_inodes_data_ipnfsid_fkey FOREIGN KEY 
(ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_1 CONSTRAINT t_level_1_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_2 CONSTRAINT t_level_2_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_3 CONSTRAINT t_level_3_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_4 CONSTRAINT t_level_4_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_5 CONSTRAINT t_level_5_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_6 CONSTRAINT t_level_6_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_level_7 CONSTRAINT t_level_7_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_locationinfo CONSTRAINT t_locationinfo_ipnfsid_fkey FOREIGN KEY 
(ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_retention_policy CONSTRAINT t_retention_policy_ipnfsid_fkey 
FOREIGN KEY (ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_storageinfo CONSTRAINT t_storageinfo_ipnfsid_fkey FOREIGN KEY 
(ipnfsid) REFERENCES t_inodes(ipnfsid) ON DELETE CASCADE
TABLE t_tags CONSTRAINT t_tags_ipnfsid_fkey FOREIGN KEY (ipnfsid) 
REFERENCES t_inodes(ipnfsid)
Triggers:
tgr_locationinfo_trash BEFORE DELETE ON t_inodes FOR 

Re: [PERFORM] 9.5alpha1 vs 9.4

2015-07-05 Thread Mkrtchyan, Tigran
Thanks for the hin. My bad. The backup db and 9.5 had a different type on
one of the foreign-key constrains char(36) vs varchar(36).

The schema was screwed couple of days ago, byt performance numbers I checked 
only
after migration to 9.5.


Sorry for the noise.

Tigran.

- Original Message -
 From: Tom Lane t...@sss.pgh.pa.us
 To: Andres Freund and...@anarazel.de
 Cc: Mkrtchyan, Tigran tigran.mkrtch...@desy.de, pgsql-performance 
 pgsql-performance@postgresql.org
 Sent: Sunday, July 5, 2015 4:33:25 PM
 Subject: Re: [PERFORM] 9.5alpha1 vs 9.4

 Andres Freund and...@anarazel.de writes:
 On 2015-07-05 13:10:51 +0200, Mkrtchyan, Tigran wrote:
 today I have update my test system to 9.5alpha1.
 Most of the operations are ok, except delete.
 I get ~1000 times slower!
 
 255.88 |  566.11 |   452 | DELETE FROM t_inodes WHERE ipnfsid=$1 AND
 inlink = ?
 
 That certainly should not be the case. Could you show the query plan for
 this statement in both versions?
 
 EXPLAIN ANALYZE, please.  I'm wondering about a missing index on some
 foreign-key-involved column.  That would show up as excessive time in
 the relevant trigger ...
 
   regards, tom lane


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