Jeff,

 

I applied the patch and here is what was recorded. 

 

Dec 21 16:52:13 myhost autofs: automount startup succeeded

Dec 21 16:52:42 myhost automount[3909]: add_host_addrs:883:
gethostbyname_r

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:42 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:42 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:43 myhost last message repeated 2 times

Dec 21 16:52:43 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:44 myhost last message repeated 2 times

Dec 21 16:52:44 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_udp_client:94:
gethostbyname_r

Dec 21 16:52:45 myhost last message repeated 2 times

Dec 21 16:52:45 myhost automount[3909]: create_tcp_client:304:
gethostbyname_r

 

 

---

James T. Richardson, Jr.

[EMAIL PROTECTED]

eXcellence in IS Solutions, Inc.

713-862-9200 x226

 

Making IT Work for You

HPC & Enterprise IT Solutions

* HPC Application Acceleration

* Cluster Design, Deploy, Manage, Train

* Linux/Windows Integration

* Remote Management, Backup, Anti-Spam/Virus

* Network Assessments, Design

* Security Audits, Design

* Datacenter Design, Relocation

* Messaging and Collaboration

 

 

-----Original Message-----
From: Jeff Moyer [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 21, 2007 3:46 PM
To: James Richardson
Cc: Ian Kent; [email protected]
Subject: Re: [autofs] Slow mounts when using large round robin sets

 

"James Richardson" <[EMAIL PROTECTED]> writes:

 

> Jeff,

> 

> Using the latest Autofs source code from I received the following

> results:

> 

> large-rr.domain.tld contains 49 A records in DNS.

> 

> small-rr.domain.tld contains 16 A records (a subset of large-rr).

> 

> Test 1:

> 

> I configured auto.home with the entry:

> 

>       brian -rsize=8192,wsize=8192,proto=tcp,vers=3

> large-rr:/home/brian

> 

> 

> # time ls /home/brian/.bash_history

> 

> /home/brian/.bash_history

> 

> real    0m0.734s

> 

> user    0m0.000s

> 

> sys     0m0.000s

>  

> 

> Test 2:

> 

> I then rebooted the server to remove any local cached anything and

> updated auto.home to have:

> 

>       brian -rsize=8192,wsize=8192,proto=tcp,vers=3

> small-rr:/home/brian

> 

> 

> # time ls -alht /home/brian/.bash_history

> 

> -rw-------  1 brian support 13K Nov 15 10:39 

> 

> real    0m0.126s

> 

> user    0m0.000s

> 

> sys     0m0.004s

>  

> 

> During Test 1 there were 1,160 DNS packets (580 UDP packets, 580 TCP

> packets). During Test 2 there were 196 packets (all UDP).

 

Very strange.  I don't have round-robin DNS configured, but in my

testing, autofs only called into the resolver once, but there were 6-8

queries logged by tcpdump.

 

You can apply this patch and see what it outputs.  Turn off debug

logging, as it will just clutter the logs.  Results should be printed

in /var/log/messages:

 

Dec 21 16:37:28 sig11 automount[3763]: add_host_addrs:883:
gethostbyname_r

 

See how many of these print.  If it's not many, then we'll have to

look elsewhere for your problem (or I've missed some resolver queries

from autofs!).

 

-Jeff

 

 

diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c

index 5797639..90bf768 100644

--- a/lib/rpc_subs.c

+++ b/lib/rpc_subs.c

@@ -91,6 +91,7 @@ static CLIENT *create_udp_client(struct conn_info
*info)

 

      memset(&hp, 0, sizeof(struct hostent));

 

+     logerr("gethostbyname_r");

      ret = gethostbyname_r(info->host, php,

                  buf, HOST_ENT_BUF_SIZE, &result, &ghn_errno);

      if (ret || !result) {

@@ -300,6 +301,7 @@ static CLIENT *create_tcp_client(struct conn_info
*info)

 

      memset(&hp, 0, sizeof(struct hostent));

 

+     logerr("gethostbyname_r");

      ret = gethostbyname_r(info->host, php,

                  buf, HOST_ENT_BUF_SIZE, &result, &ghn_errno);

      if (ret || !result) {

diff --git a/modules/replicated.c b/modules/replicated.c

index 90b2925..5171beb 100644

--- a/modules/replicated.c

+++ b/modules/replicated.c

@@ -880,6 +880,7 @@ static int add_host_addrs(struct host **list, const
char *host, unsigned int wei

      memset(buf, 0, MAX_IFC_BUF);

      memset(&he, 0, sizeof(struct hostent));

 

+     logerr("gethostbyname_r");

      ret = gethostbyname_r(host, phe,

                  buf, MAX_IFC_BUF, &result, &ghn_errno);

      if (ret || !result) {


NOTICE:
This message may contain privileged or otherwise confidential information.
If you are not the intended recipient, please immediately advise the sender
by reply email and delete the message and any attachments without using,
copying or disclosing the contents.


_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to