I've noticed a network latency increase. Ping between web server and
database : 0.6 ms avg before, 5.3 ms avg after -- it wasn't that big 4 days
ago :(

I've narrowed my investigation to one particular "Transaction" in terms of
the NewRelic APM. It's basically the main HTTP request of my application.

Looks like the ping impacts psycopg2:connect (see http://imgur.com/a/LDH1c):
4 ms up to 16 ms on average.

That I can understand. However, I don't understand the performance decrease
of the select queries on table1 (see https://i.stack.imgur.com/QaUqy.png):
80 ms up to 160 ms on average

Same goes for table 2 (see http://imgur.com/a/CnETs): 4 ms up to 20 ms on
average

However, there is a commit in my request, and it performs better (see
http://imgur.com/a/td8Dc): 12 ms down to 6 ms on average.

I don't see how this can be due to network latency!

I will provide a new bonnie++ benchmark when the requests per minute is at
the lowest (remember I can only run benchmarks while the server is in use).

Rick, what did you mean by kernel configuration? The OS is a standard
Ubuntu 16.04:

 - Linux 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016
x86_64 x86_64 x86_64 GNU/Linux

Do you think losing half the number of cores can explain my performance
issue ? (AMD 8 cores down to Haswell 4 cores).

Best Regards,

Benjamin

PS : I've edited the SO post
http://serverfault.com/questions/812702/posgres-perf-decreased-although-server-is-better

2016-11-04 1:05 GMT+01:00 Kevin Grittner <kgri...@gmail.com>:

> On Thu, Nov 3, 2016 at 9:51 AM, Benjamin Toueg <bto...@gmail.com> wrote:
> >
> > Stream gives substantially better results with the new server
> (before/after)
>
> Yep, the new server can access RAM at about twice the speed of the old.
>
> > I've run "bonnie++ -u postgres -d /tmp/ -s 4096M -r 1096" on both
> > machines. I don't know how to read bonnie++ results (before/after)
> > but it looks quite the same, sometimes better for the new,
> > sometimes better for the old.
>
> On most metrics the new machine looks better, but there are a few
> things that look potentially problematic with the new machine: the
> new machine uses about 1.57x the CPU time of the old per block
> written sequentially ((41 / 143557) / (16 / 87991)); so if the box
> becomes CPU starved, you might notice writes getting slower than on
> the new box.  Also, several of the latency numbers are worse -- in
> some cases far worse.  If I'm understanding that properly, it
> suggests that while total throughput from a number of connections
> may be better on the new machine, a single connection may not run
> the same query as quickly.  That probably makes the new machine
> better for handling an OLTP workload from many concurrent clients,
> but perhaps not as good at cranking out a single big report or
> running dump/restore.
>
> Yes, it is quite possible that the new machine could be faster at
> some things and slower at others.
>
> --
> Kevin Grittner
> EDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

Reply via email to