Consultor Eletrônico



Kbase P62976: How to monitor how many bytes are sent from the Client to the DB and Back
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/03/2009
Status: Unverified

GOAL:

How to monitor how many bytes are sent from the Client to the DB Server and Back

GOAL:

How to monitor the Progress DB traffic in a Network

FIX:

If you need to know how many bytes are travelling thru a Network, from the Client to the Server and back you can use one of the Promon features in way to know what Progress is sending in bytes.

Here are the steps on how to proceed.

1. Start a Server or Borker against a DataBase with Parameters -N -H -S.
2. Start a Client Session connecting to the same DB specifying the same Startup Parameters -N -H -S as the Server.
3. On the Server side start a PROMON Session (i.e. promon DBName).
4. Enter in Research and Development Mode option by typing R&D.
5. In the new menu of the Promon Session choose Option 2 (Activity Displays).
6. In the new Menu choose Option 2. (Servers).

You will have information for each Broker/Server:
1. Messages Received.
2. Message Sent.
3. Bytes Received.
4. Bytes Sent.
5. Queries Received.
6. Time Slices.

For each of those values you will have a Total, Per Minutes, Per Seconds and Per Transfer values. If you have several Servers running you will have values for each of them.

Note: Those values are stricly related to Progress and have nothing to do with Networks packets that may be bigger that what Progress is sending. This is due to the TCP Protocol and also the headers sent in each Network packets.

Notice that during a Simple CONNECT or during QUERIES against the DataBase from the Client to the Server, Progress has to pass back part of the Metaschema of the DataBase to the Client, so depending on the DataBase Metaschema size, the amount bytes passed back to the Client may vary.

If you need to reduce Network Traffic you can implement the -cache in way to create a local cache on the client side, this will avoid to pass Metaschema information back to the client.

Note about the -Mm parameter that specifies the Message Buffer Size.
This parameter will specify the Size of the Messages that will travel thru the Network.

This parameter is used to pass more or less records in a same Network Packet.
For example if you set -Mm to 1024 (1K) and your record lenth is 100 bytes, in each Message Buffer, aprox 10 record will travel in the Message Buffer.
In fact in the as soon as the query his resolved from the Server in the first Message Buffer will only travel 1 Single Record, this is to provide something to process to the client. Then in the next Message Buffer will travel as much records as can fit in it.

BUT THIS IS ONLY TRUE IF WE ARE USING A QUERY WITH NO-LOCK.

If the query is SHARED-LOCK or EXCLUSIVE-LOCK, independently of the Message Buffer Size, only one record will travel in the Packet.

This is due to ensure a control of the lock on the records the Progress DB needs to do.