Informix 7 slow over WAN yet fast over LAN
Posted in 2006
A user found Informix 7 client forms that opened in 1-2 seconds on the LAN took minutes over a 2 Mbps WAN link, even though the link was only ~30% utilised, with lots of PSH/ACK traffic. Suggestions: check DNS/hosts name resolution differences between LAN and WAN, check MTU/collisions, cut round trips by using stored procedures or running the app on the server's LAN via VNC, and Art Kagel's advice to raise the client FETBUFSIZE from the 4K default to 32767 and to check whether the app fetches too much data and filters in code. The poster ruled out lookups and planned to test the buffer change; no outcome is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: General Discussion
All, My Informix 7 Server peformance on the Local Area Network is very acceptable, when connecting a new site using 2 Mbps, client experience was lousy, it took minutes to open simple forms, which took 1 or 2 seconds on the LAN. We thought that bandwidth is not enough, so we monitored the WAN port and utilization did not exceed 30%. When Monitoring the traffic we found too many PSH,ACK and ACKs going between Server and Client. Did anybody see this before ? Can anybody help ? Regards Walid
WalidFahmy said: > All, > My Informix 7 Server peformance on the Local Area Network is very > acceptable, > when connecting a new site using 2 Mbps, client experience was lousy, it > took > minutes to open simple forms, which took 1 or 2 seconds on the LAN. We > thought that bandwidth is not enough, so we monitored the WAN port and > utilization did not exceed 30%. > When Monitoring the traffic we found too many PSH,ACK and ACKs going > between > Server and Client. > Did anybody see this before ? Can anybody help ? DNS, probably. -- Bye now, Obnoxio "... no bill is required as no value was provided." -- Christine Normile
Obnoxio, Say more, I think you are making sense. Walid Obnoxio The Clown wrote: >WalidFahmy said: >> All, >> My Informix 7 Server peformance on the Local Area Network is very >[quoted text clipped - 8 lines] >> Server and Client. >> Did anybody see this before ? Can anybody help ? > >DNS, probably. >
WalidFahmy wrote: > All, > My Informix 7 Server peformance on the Local Area Network is very acceptable, > when connecting a new site using 2 Mbps, client experience was lousy, it took > minutes to open simple forms, which took 1 or 2 seconds on the LAN. We > thought that bandwidth is not enough, so we monitored the WAN port and > utilization did not exceed 30%. > When Monitoring the traffic we found too many PSH,ACK and ACKs going between > Server and Client. > Did anybody see this before ? Can anybody help ? That it is much slower is not surprising but the degradation is severe. I don't know the topology of your WAN or the bandwidth available but the 30% utilisation could be due to collisions or other network issues such as contention. Maybe a small MTU size somewhere along the line is meaning packets don't contain a large payload? Is it slow just when connecting to the server or all the time? Whatever the reasons it seems the network is your bottleneck. You can improve this by using more stored procedures in your code which cuts down on the amount of network traffic required compared with running every SQL statement individually. You could consider running your application on a machine on the server's LAN through a remote control package such as VNC (assuming your application is graphical) - you may get better performance this way. Ben.
WalidFahmy said: > Obnoxio, > Say more, I think you are making sense. You mean if I say some more I'll stop making sense? :o) Is the DNS config the same for the two networks? Do you do a hosts lookup first on the LAN, but DNS on the WAN? Can the WAN effectively to a RARP? -- Bye now, Obnoxio "... no bill is required as no value was provided." -- Christine Normile
Ben, 30% means that not all WAN pipe is used, which implies that NETWORK bandwidth is not the problem, but rather delay, DNS lookups might be a sensible explaination. I will let our developers investigate this issue. Walid Ben Thompson wrote: >> All, >> My Informix 7 Server peformance on the Local Area Network is very acceptable, >[quoted text clipped - 5 lines] >> Server and Client. >> Did anybody see this before ? Can anybody help ? > >That it is much slower is not surprising but the degradation is severe. >I don't know the topology of your WAN or the bandwidth available but the >30% utilisation could be due to collisions or other network issues such >as contention. Maybe a small MTU size somewhere along the line is >meaning packets don't contain a large payload? Is it slow just when >connecting to the server or all the time? > >Whatever the reasons it seems the network is your bottleneck. You can >improve this by using more stored procedures in your code which cuts >down on the amount of network traffic required compared with running >every SQL statement individually. You could consider running your >application on a machine on the server's LAN through a remote control >package such as VNC (assuming your application is graphical) - you may >get better performance this way. > >Ben.
WalidFahmy wrote: > All, > My Informix 7 Server peformance on the Local Area Network is very acceptable, > when connecting a new site using 2 Mbps, client experience was lousy, it took > minutes to open simple forms, which took 1 or 2 seconds on the LAN. We > thought that bandwidth is not enough, so we monitored the WAN port and > utilization did not exceed 30%. > When Monitoring the traffic we found too many PSH,ACK and ACKs going between > Server and Client. > Did anybody see this before ? Can anybody help ? Two possible causes not mentioned: 1- You note an excess of ACKs, etc. This could be a symptom of the second problem, but another may be the amount of data that's really needed versus the comm buffer size. The buffers default to 4K (max 32K). You can increase the buffer size with the environment variable FETBUFSIZE, set it to 2^15-1 (32767) in the client's environment to get a max sized buffer session setup between the client and the server. This will decrease the number of round trips by a factor of 8 which will help even if 2 is the larger problem. 2- You application is poorly designed so that it is retrieving far more data than it needs and filtering it in software. This will cause the application to run inordinately slower across narrower/slower pipes like your WAN than it does across a fast LAN. Examine the SQL and code to determine if the filtering and the joins are optimal. Art S. Kagel
Thanks Art. We eliminated the lookup issue and will test now changing the Buffer Size, re- writing the application is a nightmare. Regards Walid Art S. Kagel wrote: >> All, >> My Informix 7 Server peformance on the Local Area Network is very acceptable, >[quoted text clipped - 5 lines] >> Server and Client. >> Did anybody see this before ? Can anybody help ? > >Two possible causes not mentioned: > >1- You note an excess of ACKs, etc. This could be a symptom of the second >problem, but another may be the amount of data that's really needed versus >the comm buffer size. The buffers default to 4K (max 32K). You can >increase the buffer size with the environment variable FETBUFSIZE, set it to >2^15-1 (32767) in the client's environment to get a max sized buffer session >setup between the client and the server. This will decrease the number of >round trips by a factor of 8 which will help even if 2 is the larger problem. > >2- You application is poorly designed so that it is retrieving far more data >than it needs and filtering it in software. This will cause the application >to run inordinately slower across narrower/slower pipes like your WAN than >it does across a fast LAN. Examine the SQL and code to determine if the >filtering and the joins are optimal. > >Art S. Kagel -- Message posted via DBMonster.com http://www.dbmonster.com/Uwe/Forums.aspx/informix/200607/1