Date: Tue, 30 Mar 2004 21:56:20 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Dag-Erling Sm?rgrav <des@des.no> Cc: current@freebsd.org Subject: Re: performance of jailed processes Message-ID: <20040330195620.GH8930@darkness.comp.waw.pl> In-Reply-To: <xzpbrmenocw.fsf@dwp.des.no> References: <Pine.NEB.3.96L.1040330133811.93169H-100000@fledge.watson.org> <xzpbrmenocw.fsf@dwp.des.no>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On Tue, Mar 30, 2004 at 09:09:35PM +0200, Dag-Erling Sm?rgrav wrote:
+> > Can you identify any micro-benchmarks rather than macro-benchmarks that
+> > reflect a significant difference?
+>
+> haven't had much luck with that... fetch, for instance, doesn't seem
+> to suffer, but with mysql the difference is dramatic:
+>
+> (outside jail)
+> 1 row in set (0.01 sec)
+>
+> (inside jail)
+> 1 row in set (13.20 sec)
+>
+> note that 13 seconds is far too short for a DNS issue, and that the
+> time reported is measured *after* login (i.e. after any DNS lookup)
I'm wondering if this piece of code is responsible for this delay:
(sys/netinet/in_pcb.c:551)
if (laddr.s_addr == INADDR_ANY && jailed(socred)) {
bzero(&sa, sizeof(sa));
sa.sin_addr.s_addr = htonl(prison_getip(socred));
sa.sin_len = sizeof(sa);
sa.sin_family = AF_INET;
error = in_pcbbind_setup(inp, (struct sockaddr *)&sa,
&laddr.s_addr, &lport, cred);
if (error)
return (error);
}
Maybe you can test it by putting a printf() after this if() and check
if it is printed with fetch and with mysql.
--
Pawel Jakub Dawidek http://www.FreeBSD.org
pjd@FreeBSD.org http://garage.freebsd.pl
FreeBSD committer Am I Evil? Yes, I Am!
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFAadDkForvXbEpPzQRAocwAJ9CRyst2AoSwS+BznjRo4tG6l6uYQCcCZNq
7yQ1/Djqc79vmixvVZJrbIw=
=oZyv
-----END PGP SIGNATURE-----
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040330195620.GH8930>
