From: | Jenish <jenishvyas(at)gmail(dot)com> |
---|---|
To: | tv(at)fuzzy(dot)cz |
Cc: | Kevin Grittner <kevin(dot)grittner(at)wicourts(dot)gov>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Performance issue with Insert |
Date: | 2011-06-27 15:58:26 |
Message-ID: | BANLkTim-QmRMR4husxhEJmUfihPv6mUp4Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Hi,
I have already checked all the statements present in the trigger, no one is
taking more then 20 ms.
I am using 8-Processor, Quad-Core Server ,CPU utilization is more then 90-95
% for all. (htop result)
DB has 960 concurrent users.
io : writing 3-4 MB per second or less (iotop result).
Scenario : All insert are waiting for previous insert to complete. Cant
we avoid this situation ?
What is the "max_connections" postgresql support?
Plz help....
--
Thanks & regards,
JENISH VYAS
On Mon, Jun 27, 2011 at 6:32 PM, <tv(at)fuzzy(dot)cz> wrote:
> > Hi,
> >
> > DB : POSTGRES 8.4.8
> > OS : Debian
> > HD : SAS 10k rpm
> >
> > Shared_buffer is 4096 25 % of RAM , effective_cache is 8GB 75% of RAM
> >
> > After insert trigger is again calling 2 more trigger and insert record in
> > another table depends on condition.
> >
> > with all trigger enable there are 8 insert and 32 updates(approx. update
> > is
> > depends on hierarchy)
>
> Hi,
>
> it's very difficult to give you reliable recommendations with this little
> info, but the triggers are obviously the bottleneck. We have no idea what
> queries are executed in them, but I guess there are some slow queries.
>
> Find out what queries are executed in the triggers, benchmark each of them
> and make them faster. Just don't forget that those SQL queries are
> executed as prepared statements, so they may behave a bit differently than
> plain queries. So use 'PREPARE' and 'EXPLAIN EXECUTE' to tune them.
>
> > Plz explain multiple connections. Current scenario application server is
> > sending all requests.
>
> PostgreSQL does not support parallel queries (i.e. a query distributed on
> multiple CPUs) so each query may use just a single CPU. If you're CPU
> bound (one CPU is 100% utilized but the other CPUs are idle), you can
> usually parallelize the workload on your own - just use multiple
> connections.
>
> But if you're using an application server and there are multiple
> connections used, this is not going to help you. How many connections are
> active at the same time? Are the CPUs idle or utilized?
>
> Tomas
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2011-06-27 16:12:02 | Re: Performance issue with Insert |
Previous Message | tv | 2011-06-27 15:37:43 | Re: Long Running Update - My Solution |