Re: pgbench progress report improvements - Mailing list pgsql-hackers
From | Fabien COELHO |
---|---|
Subject | Re: pgbench progress report improvements |
Date | |
Msg-id | alpine.DEB.2.02.1309242044050.8198@sto Whole thread Raw |
In response to | Re: pgbench progress report improvements (Robert Haas <robertmhaas@gmail.com>) |
List | pgsql-hackers |
Dear Robert, >> (1) ... > I really don't think it's a good idea to change the default behavior. > We've had many discussions about how the overhead of gettimeofday() can > sometimes be surprisingly large; I don't think we should assume it's > guaranteed to be small in this case. > > Also, changing established defaults will annoy users who like to > present defaults; I don't see any reason to assume that your preferences > will be universal. In doubtful cases we should favor leaving the > behavior the way it's been in previous releases, because > backward-compatibility is very desirable. I argued in another mail precisely, with worst figures found on the net, about the relative overhead of gettimeofday as used by pgbench, which is also handling network traffic and waiting for the database to perform actual transactions. I do not thing that I'm "assuming", and I'm trying to argument with objective data. Anyway, this particular behavior is preserved by the current version of the patch, so no worry. The additional gettimeofday is *not* perform under standard "silent" benchmarking, and the standard deviation of the latency is not measured, because it can't. It is however measured under --rate and --progress. It is necessary for rate because otherwise the computed latency is false. It is done for progress because if you are interested to know what is going on, I assume that it would make sense to provide this data. I must admit that I think, un-universaly, that people should care to know that their transaction latency can vary by several order of magnitudes, but this opinion is clearly not shared. >> I tried to preserve the row-counting behavior because I thought that >> someone would object otherwise, but I would be really in favor of >> dropping the row-counting report behavior altogether and only keep the >> time triggered report. > -1 for changing this again. > Frankly, I might have come down in a different place if I had understood > exactly how this was going to end up being committed; it ended up being > quite different from what I was expecting. But I really think that > relitigating this just so we can break backward compatibility again one > release later is not a good use of anyone's time, or a good idea in > general. The current status on my small (SSD) laptop is that "pgbench -i" throws about 10 lines of 100,000-rows progress report per second. I must be a slow reader because I can't read that fast. So either other users can read much faster than me, or they have slower computers:-) ISTM that it is no big deal to change this kind of thing on a minor contrib tool of postgresql if it is reasonnably better and useful, and I would be surprise and seeing protests about changing an unreadable flow to a readable one. Anyway, let us keep this default behavior, as I hope there must be people who like it. Well, if anyone could tell me that he/she likes better having 10 lines a second thrown on the screen than a regular progress report every few seconds, I would feel less stupid at reinstating this behavior and re-submitting a new version of the patch. -- Fabien.
pgsql-hackers by date: