Обсуждение: 6.5 connection time: too slow (?)
Hi, I'm finally about to upgrade our prehistoric 6.1 to 6.5.2 and took few hours to do some highly unscientific (Perl/DBI) benchmarking just to see the difference... I was quite shocked when I found out that PG6.1 (on Linux 2.0.34, loaded K6/166 server) was consistently three times faster when connecting to the database then latest PG6.5.2 (on Linux 2.2.12, unloaded P2/233, faster disk). The difference was 0.102-0.108 sec vs. 0.293-0.296 sec. For web usage, this is quite slow, even if actual execute is usually fast enough (0.05-0.15 sec). Does anybody have any idea what's going on? Specifically, is it possible RedHat 6.1 RPM I'm using was compiled with some stupid switch that slows things down? Any advices how to speed things up? P.S. Apache::DBI is not of much use here, because I'm using 6+ different databases, so it would keep six backends per http child... Thanks for your comments. - Robert
[Charset iso-8859-2 unsupported, filtering to ASCII...] > Hi, > > I'm finally about to upgrade our prehistoric 6.1 to 6.5.2 and took few > hours to do some highly unscientific (Perl/DBI) benchmarking just to see > the difference... I was quite shocked when I found out that PG6.1 (on > Linux 2.0.34, loaded K6/166 server) was consistently three times faster > when connecting to the database then latest PG6.5.2 (on Linux 2.2.12, > unloaded P2/233, faster disk). The difference was 0.102-0.108 sec vs. > 0.293-0.296 sec. For web usage, this is quite slow, even if actual > execute is usually fast enough (0.05-0.15 sec). Does anybody have any > idea what's going on? Specifically, is it possible RedHat 6.1 RPM I'm > using was compiled with some stupid switch that slows things down? Any > advices how to speed things up? > > P.S. Apache::DBI is not of much use here, because I'm using 6+ different > databases, so it would keep six backends per http child... Thanks for > your comments. Very strange. Same postmaster flags? I can't imagine what it would be? We really have been improving performance, including startup performance. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian wrote:
> Very strange. Same postmaster flags? I can't imagine what it would be?
> We really have been improving performance, including startup
> performance.
The only difference I see is -i flag on the 6.5 postmaster, but removing it
doesn't change a thing, connecting is consistently 0.2934-0.2939 sec (only
other flag both server use is -S). To explain, I'm running simple test script
starting
use DBI;
use Data::Dumper;
use Time::HiRes qw/gettimeofday tv_interval/;
$start = [gettimeofday];
$db = DBI->connect("DBI:Pg:dbname=rfp") or die $DBI::errstr;
print "connect: ", tv_interval($start, [gettimeofday]), "\n";
Maybe both servers were compiled with different options, but I don't
know how to check with which ones. Any simple way how to find ou?
BTW, the exact results were
P2/233,PG6.5.2
connect 0.295
prepare 0.001
execute (select * from table)
60 rows/10 cols 0.153
15000 rows/4 cols 1.345
15000 rows/4 cols/LIMIT 30 0.044
15000 rows/4 cols/LIMIT 30 OFFSET 2000 0.050
fetch 30 0.002
finnish 0.000
disconnect 0.002
K6/166,pg6.4
connect 0.105
prepare 0.001
execute (select * from table)
60 rows/10 cols 0.162
15000 rows/4 cols 3.508 (finnish 0.091)
fetch 30 0.008
finnish 0.002
disconnect 0.001
It shows up to LIMIT/OFFSET brings 30fold speed up as expected (main reason
for upgrading, after all) and also that the same (bigger) select takes 1.345
vs. 3.508 sec
which corresponds reasonably well to the slower machine and older postgres.
Only
the connection time is a mystery.
- Robert