They have a dev server set up in their office, and their live site runs on one of ours. Their dev box is newer and therefore faster, and clearly less busy, so it's not surprising that things run faster there. But it's not that simple.
The client reports that this:
explain analyze update mytable set mycolumn = '' where id = 123;
Ran in 0.696 ms on his dev box and 25.825 ms on the production box. Looks bad. But then he ran vacuum full analyze on his dev box and the time for the query *increased* to 34.859 ms. Given this, I'm thinking it's not a hardware problem, it's something going on with Postgres. And that's where I get stuck.
The plan is the same for the query in each case, and the estimated costs are almost the same, but the actual elapsed time is much different.
We have already followed the Postgres tuning recommendations and made sure that both boxes are roughly the same as far as shared memory, buffers, etc goes. I've looked around for tools or even articles on PG that might shed some light on what else we can do, but I'm not finding much.
Any suggestions?
Request notifications