Re: getline() very very slow on localhost on 5.X

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Thu, 3 Feb 2005 09:38:37 +0000 (GMT)
On Thu, 3 Feb 2005, Martin Blapp wrote:

> Can someone confirm that this is still a problem on 6.X ? Something is
> really broken here ... 

Could you:

(1) Try connecting to 127.0.0.1 instead of localhost?
(2) If the problem persists, try writing a C based client to do the same
    thing?
(3) Use tcpdump on lo0 to create a packet trace?

What leads you to conclude that getline() is the problem, as opposed to
the pop server, etc?

Robert N M Watson


> 
> Martin
> 
> FreeBSD 5.x connecting to localhost
> 
> time perl5.6.1 -MIO::Socket -e '$s = new IO::Socket::INET("localhost:110");
> $s->print("user USER\r\n");
> $s->getline(); $s->print("pass PASS\r\n"); $s->getline(); $s->print("LIST\r\n");
> for ($i = 1; $i
> < 2000; ++$i) { $j=1 + $i%500;$s->print("top $j 0\r\n"); }
> $s->print("quit\r\n"); while (defined($_
> = $s->getline())) { print $_; }' > xxx
> 
> real    2m9.509s
> user    0m0.559s
> sys     0m0.184s
> 
> FreeBSD 5.x connecting to the external IP of the server
> 
> time perl -MIO::Socket -e '$s = new IO::Socket::INET("server:110");
> $s->print("user USER\r\n");
> > $s->getline(); $s->print("pass PASS\r\n"); $s->getline();
> $s->print("LIST\r\n");
> for ($i = 1; $i
> > < 2000; ++$i) { $j=1 + $i%500;$s->print("top $j 0\r\n"); }
> $s->print("quit\r\n"); while (defined($_
> > = $s->getline())) { print $_; }' > xxx
> 
> real    0m6.932s
> user    0m0.553s
> sys     0m0.187s
> 
> Martin Blapp, <mb_at_imp.ch> <mbr_at_FreeBSD.org>
> ------------------------------------------------------------------
> ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
> Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
> PGP: <finger -l mbr_at_freebsd.org>
> PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
> ------------------------------------------------------------------
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Thu Feb 03 2005 - 08:39:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:27 UTC