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!
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:49 UTC