Kbase 18997: Why a Progress application performs slower in WAN?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  22/01/2003 |
|
Solution # 17905
Why a Progress application performs slower in WAN?
When a Progress application that uses to perform correctly in a LAN
environment is deployed on a WAN, the performance will decrease in a
higher level than expected. Why? This Knowledge Base entry tries to
explain some reasons for it, however there might be more.
Progress uses TCP/IP in the same way regardless the environment where
application is running, LAN or WAN. Progress uses the NODELAY option,
which improves the performance on a LAN because the packets are put
in the network immediately, without waiting for other data that can
be sent in the same packet. However, this option is not good for WAN
environment as the cost of sending packets is higher.
If the hardware is performing some sort of WAN bandwidth optimization
it may be defeating the use of the NODELAY option.
Progress is highly interactive. This means that as soon as a message
is sent to the server, the client expects a reply. It cannot send
multiple messages and then wait for a single reply from the server to
acknowledge all the sent messages (like TCP windowing).
Progress does have the ability to generate a message sequence. When
the resultset to be sent across is too large for the -Mm buffer
setting, Progress will create a fragmented message and send this out.
Therefore, the value specified in the -Mm parameter may impact
substancialy the performance of Progress on a network, specially on a
WAN. This is because with a larger -Mm Progress is able to fill up a
bigger buffer (when the 4GL allows) and send this as a single
Progress message. TCP will break it up into the MTU size packets and
send them out trying to use TCP windowing.
It is not fair to compare the Progress performance with other TCP/IP
utilities like FTP. Sending a file across using TCP is different
than 'communicating' over TCP. FTP will benefit from all kinds of TCP
optimizations (NAGLE, SlowStart and Windowing) because of the nature
of TCP (stream protocol) and the goal FTP has (sending a stream of
bytes across).
fbe/jsa
26 Jul 99