From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | Xiaoyulei <xiaoyulei(at)huawei(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: about half processes are blocked by btree, btree is bottleneck? |
Date: | 2014-09-11 07:40:02 |
Message-ID: | 541151D2.5040101@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 09/11/2014 06:08 AM, Xiaoyulei wrote:
> I use benchmarksql with more than 200 clients on pg 9.3.3. when the test is going on, I collect all the process stack. I found about 100 processes are blocked by btree insert. Another 100 are blocked by xloginsert.
>
> Does btree has bad performance in concurrency scenarios?
Well, there's always a bottleneck. I'd suggest trying 9.4, there were
changes to make WAL insertion more scalable, as well as small tweaks to
the spinlock implementation.
I'm not too familiar with BenchmarkSQL, but if 200 clients means 200
concurrent active connections to the database, that's a lot. You'll
likely see better performance if you dial it down closer to the number
of CPU cores in the server.
Also make sure you use a large-enough scale factor. Otherwise all
transactions try to access a small set of rows, which naturally becomes
a bottleneck.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2014-09-11 08:01:15 | Re: Support for N synchronous standby servers |
Previous Message | Erik Rijkers | 2014-09-11 07:35:24 | Re: RLS Design |