performance of jailed processes

Pawel Jakub Dawidek pjd at FreeBSD.org
Tue Mar 30 11:56:23 PST 2004


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 at FreeBSD.org                           http://garage.freebsd.pl
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040330/153b8ca4/attachment-0001.bin


More information about the freebsd-current mailing list