Re: pgbench cpu overhead (was Re: lazy vxid locks, v1)
Jeff Janes <jeff.janes@gmail.com>
From: Jeff Janes <jeff.janes@gmail.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>, pgsql-hackers <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2011-06-14T19:56:56Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid extra system calls to block SIGPIPE if the platform provides either
- cea80e726edd 9.0.0 cited
On Mon, Jun 13, 2011 at 9:09 PM, Alvaro Herrera <alvherre@commandprompt.com> wrote: > I noticed that pgbench's doCustom (the function highest in the profile > posted) returns doing nothing if the connection is supposed to be > "sleeping"; seems an open door for busy waiting. I didn't check the > rest of the code to see if there's something avoiding that condition. Yes, there is a "select" in threadRun that avoids that. Also, I don't think anyone would but in a "sleep" in this particular type of pgbench run. > I > also noticed that it seems to be very liberal about calling > INSTR_TIME_SET_CURRENT in the same function which perhaps could be > optimizing by calling it a single time at entry and reusing the value, > but I guess that would show up in the profile as a kernel call so it's > maybe not a problem. I think that only gets called when you specifically asked for latencies or for logging, or when making new connection (which should be rare) Cheers, Jeff