![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hello, Setup: Latest 64-bit Windows client on Windows Server 2008 connecting to a DB2 9.7 server (running on Linux) with latest fixpack. The database being connected to is activated. When using the client, connnection setup takes more than 50 seconds. Sniffing on the network with Wireshark reveals that no outgoing packets are seen during the first 20 seconds. So, for some reason, the DB2 client "hesitates" for a rather long while before even trying to connect. I tried temporarily closing the DB2 server and set up netcat to listen on port 50000 instead. I then ran netcat in client mode on the Windows-box. Data were immediately tranferred. Name resolving doesn't /seem/ to be the culprit: The netcat client has no trouble quickly initiating a connection. And even if I catalog the DB2 node with IP address instead of a DNS name, the problem prevails. Why might the DB2 client waiting? Can the client be set in some kind of debug mode where it tells me what it's doing? |
#3
| |||
| |||
|
|
Do you specify the server address as a numeric URL or as a name? You could be seeing DNS lookup delays. I resorted to entering the server into the hosts (lmhosts) file and that also worked. |
#4
| |||
| |||
|
|
Hello, Setup: Latest 64-bit Windows client on Windows Server 2008 connecting to a DB2 9.7 server (running on Linux) with latest fixpack. The database being connected to is activated. When using the client, connnection setup takes more than 50 seconds. Sniffing on the network with Wireshark reveals that no outgoing packets are seen during the first 20 seconds. So, for some reason, the DB2 client "hesitates" for a rather long while before even trying to connect. I tried temporarily closing the DB2 server and set up netcat to listen on port 50000 instead. I then ran netcat in client mode on the Windows-box. Data were immediately tranferred. Name resolving doesn't /seem/ to be the culprit: The netcat client has no trouble quickly initiating a connection. And even if I catalog the DB2 node with IP address instead of a DNS name, the problem prevails. Why might the DB2 client waiting? Can the client be set in some kind of debug mode where it tells me what it's doing? -- Troels |
#5
| |||
| |||
|
|
Are you cataloguing databases with authentication server? |
#6
| |||
| |||
|
|
No: I had cataloged it without specifying authentication (as I usually do on unix/linux clients). |
|
Setting it explicitly to SERVER made the problem go away (there are some old clients which also need to connect to the server, so I think I cannot improve to SERVER_ENCRYPT). Connections are now instantaneous. |
#7
| |||
| |||
|
|
If you don't specify the authentication method at the client, it defaults to SERVER_ENCRYPT. If SERVER is specified at the server, the client should fall back to SERVER. Maybe there is a bug in the negotiating process between Win and Linux, which makes the negatiation sequence take so long. |
#8
| |||
| |||
|
|
I know that for DB2 version 8, remote Type 2 connections were very slow without AUTHENTICATION SERVER on the catalog db. This was true even if the server was configured with SERVER authentication. Same was true for Linux and AIX servers (Windows clients). |
|
I don't know about later releases of DB2, because I have always used AUTHENTICATION SERVER when cataloging remote databases ever since V8. |
#9
| |||
| |||
|
|
If you use remote clients you should either use SERVER_ENCRYPT, DATA_ENCRYPT, DATA_ENCRYPT_CMP or SSL for authentication on the server (except, if you don't care about security). |
|
Because you probably always used authentication SERVER at the server, correct? |
#10
| |||
| |||
|
|
We have very secure firewalls in our production envrionements. We cannot even connect from a non-produciton machine to a producion DB2 server inside our company. |
|
Yes, we use the default authentication which is SERVER. |
![]() |
| Thread Tools | |
| Display Modes | |
| |