I'd start by comparing the /etc/nsswitch.conf files on the various
machines.  If the second column contains "files" for passwd and hosts on
the fast machines, and "dns" on the slow machine, then change the slow
machine to "files" and see if it speeds up.  That's an easy way to rule out
or condemn DNS.

If you change a machine to "files", make sure the /etc/passwd has at least
the user you intend to login as, and /etc/hosts has the hostnames.

Rick


                                                                           
             Michael Fuhr                                                  
             <[EMAIL PROTECTED]>                                               
             Sent by:                                                   To 
             pgsql-general-own         [EMAIL PROTECTED]               
             [EMAIL PROTECTED]                                          cc 
                                       Tino Wildenhain                     
                                       <[EMAIL PROTECTED]>,               
             08/04/2005 02:29          pgsql-general@postgresql.org        
             PM                                                    Subject 
                                       Re: [GENERAL] DNS vs /etc/hosts     
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




On Thu, Aug 04, 2005 at 12:04:27PM -0500, [EMAIL PROTECTED] wrote:
> Version 7.2 psql   -  /usr/bin/psql -d dbname -h machine1   ----
> connection time instant
> Version 8.0 psql  - /usr/local/pgsql/bin/psql -d dbname -h machine1 ----
> conection time 15 seconds
> Version 8.0 psql  - /usr/local/pgsql/bin/psql -d dbname -h ip.address
----
> connection time instant

Do the 8.0 connections to a name take exactly 15 seconds every time,
or does the time vary?

Have you done process traces on 7.2 vs. 8.0 to see what they're
doing differently?  You mentioned that you were using Linux, so
something like "strace -o filename -r psql ..." should work (the
-r option should add relative timestamps to the trace so you can
see where the slowness is happening).  As others have mentioned,
name resolution is generally done by libraries that aren't part of
PostgreSQL, so if two versions of PostgreSQL behave differently in
that respect then we need to find out what's different about them.
Have you used ldd to see what libraries each version of psql is
linked against?  Are there differences aside from libpq?

Have you used a tool like dig, host, or nslookup to test whether
DNS indeed has a problem?  That wouldn't answer why different
versions of psql apparently behave differently, but it should at
least tell us whether DNS is really a problem.

Have you used a sniffer like tcpdump or ethereal to watch DNS queries
and PostgreSQL connections?

--
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly



---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to