From: Tomas Vondra <tv@fuzzy.cz>
To: gnanam@zoniac.com
Cc: 'Merlin Moncure' <mmoncure@gmail.com>
Cc: 'Kevin Grittner' <kevin.grittner@wicourts.gov>
Cc: pgsql-performance@postgresql.org
Subject: Re: Write workload is causing severe slowdown in Production
Date: Fri, 23 Mar 2012 11:24:12 +0100
Message-ID: <6df55552430e183a729aa039ff729f06.squirrel@sq.gransy.com> (raw)
In-Reply-To: <006c01cd08dd$205af940$6110ebc0$@com>
References: <006301cd07fd$358ebe40$a0ac3ac0$@com>
<4F6AFB5902000025000465C7@gw.wicourts.gov>
<CAHyXU0xyVixmLdiMaD2wUU6DgN2AiXi1_Avm+k7vB49BFYEPPA@mail.gmail.com>
<006c01cd08dd$205af940$6110ebc0$@com>
On 23 Březen 2012, 11:10, Gnanakumar wrote:
> First off, thank you *so much* for that detailed explanation comparing
> with
> a real-time application performance benchmark, which was really
> enlightening
> for me.
>
>> How are you handling concurrency? (Are you using FOR SHARE on your
>> SELECT statements? Are you explicitly acquiring table locks before
>> modifying data? Etc.) You might be introducing blocking somehow.
>
> No, actually am not explicitly locking any tables -- all are *simple*
> select, update, insert statements only.
Are those wrapped in a transaction or not? Each transaction forces a fsync
when committing, and if each of those INSERT/UPDATE statements stands on
it's own it may cause of lot of I/O.
>> Besides the outdated PostgreSQL release and possible blocking, I
>> would be concerned if you are using any sort of ORM for the update
>> application. You want to watch that very closely because the
>> default behavior of many of them does not scale well. There's
>> usually a way to get better performance through configuration and/or
>> bypassing automatic query generation for complex data requests.
>
> Am not able to understand above statements (...any sort of ORM for the
> update application ...) clearly. Can you help me in understanding this?
There are tools that claim to remove the object vs. relational discrepancy
when accessing the database. They often generate queries on the fly, and
some of the queries are pretty awful (depends on how well the ORM model is
defined). There are various reasons why this may suck - loading too much
data, using lazy fetch everywhere etc.
Are you using something like Hibernate, JPA, ... to handle persistence?
Tomas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: tv@fuzzy.cz, gnanam@zoniac.com, mmoncure@gmail.com, kevin.grittner@wicourts.gov
Subject: Re: Write workload is causing severe slowdown in Production
In-Reply-To: <6df55552430e183a729aa039ff729f06.squirrel@sq.gransy.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox