T.R | Title | User | Personal Name | Date | Lines |
---|
4520.1 | Protocol overhead not included in octets? | TOOK::STRUTT | Management - the one word oxymoron | Wed Feb 10 1993 16:38 | 16 |
| This is a guess - someone please tell me if I'm wrong.
There is protocol overhead to consider.
The Octets (I hope the spelling error is yours and not ours!) In and
Out probably refer to the actual data that was sent inside the protocol
data units. Each message would have a protocol wrapper (eg. 14 bytes)
which takes up line utilization, but does not contribute towards the
data the protocol's client is sending and receiving.
Thus, to compute line utilization usually requires taking the data
bytes transmitted (and received) and adding the protocol overhead
(bytes/message) for each message transmitted (and received), then
calculating the ratio of the bits sent (and received) on the wire to
the theoretical maximum for the line.
Colin
|
4520.2 | Still in the dark! | BUSSTP::JHANNAH | Jim Hannah, Telecoms & Nets, AYO | Thu Feb 11 1993 04:08 | 18 |
| Thanks for the reply.
I understand that In and Out probably do refer to only the data which
was received (or sent) and that there is an overhead to be added on to
that figure to take into account headers etc.
I'm still not sure however what you do to an IN figure of 1,396,068 and
an OUT figure of 700,065 to get a Total of 1,498,877.
Also, even taking into account the protocol overhead, how would a peak
bytes/sec of 11,697 equate to a bandwidth utilization of 131% on a 256K
line.
Jim.
P.S. The spelling of "Octetes" is as generated by the Reports package.
|
4520.3 | Can anyone help? | BUSSTP::JHANNAH | Jim Hannah, Telecoms & Nets, AYO | Tue Feb 16 1993 03:39 | 5 |
| Would anyone like to comment on this, please?
Regards,
Jim.
|
4520.4 | An answer based upon the datatrieve commands... | TOOK::STAM | | Wed Apr 21 1993 11:19 | 74 |
|
I guess having a CLD posted against this problem of 'Total' not
equaling 'In' + 'Out' would get a response. So below I will provide
you with a snippet of the algorithm used to generate the values
presented on the report. (I will use Datatrieve as the example,
but the same should be true with the SQL reports).
First, once the database is readied:
DECLARE TOT_BYTES_COMPUTED COMPUTED BY
CHOICE (PROTOCOL NE 6) AND (DUPLEX = 0) AND
(OUTBOUND_BYTES > INBOUND_BYTES) THEN
OUTBOUND_BYTES
(PROTOCOL NE 6) AND (DUPLEX = 0) AND
(OUTBOUND_BYTES < INBOUND_BYTES) THEN
INBOUND_BYTES
ELSE
(INBOUND_BYTES + OUTBOUND_BYTES)
END_CHOICE.
Note I personally do not know what protocal value of 6 or duplex
value of 0 represents, but later in the algorithm it states the
following when determining the 'Line Mode'.
CHOICE (PROTOCAL = 6) THEN "N/A"
(PROTOCAL NE 6) AND (DUPLEX = 0) THEN "Full Duplex"
(PROTOCAL NE 6) AND (DUPLEX = 1) THEN "Half Duplex"
ELSE "N/A"
END_CHOICE.
(Note CHOICE is similar to a 'switch' or a series of 'if' statements
in the 'C' programming language.)
The 'In', 'Out', and 'Total' values are computed as follows:
"In:" FN$FLOOR(TOTAL INBOUND_BYTES/1000)
"out:" FN$FLOOR(TOTAL OUTBOUND_BYTES/1000)
"Total:" FN$FLOOR(TOTAL TOT_BYTES_COMPUTED/1000)
For those who do not know how to read datatrieve and since I cut a
lot of the code out for this answer, let me give a quick explanation
of what the above statements mean: (Note INBOUND_BYTES and
OUTBOUND_BYTES are declared in the schema)
For every record found based upon the selection criteria of
the specific line, the start time, stop time, and node id
the above computations will be performed.
That is to say that the inbound Octets is the sum of ALL
INBOUND_BYTES. This value is converted to kBytes, and then
rounded to the nearest whole number.
The outbound Octets is the sum of ALL OUTBOUND_BYTES. Then
this value is converted to kBytes and rounded to the nearest
whole number.
The 'total' octets is the sum of ALL TOT_BYTES_COMPUTED. Then
this value is converted to kBytes and rounded to the nearest
whole number. BUT if you note above, there is a special way
that the TOT_BYTES_COMPUTED are computed. For *EACH* record
found, if one is using 'Full Duplex' then TOT_BYTES_COMPUTED
will be the larger of either the INBOUND_BYTES or OUTBOUND_BYTES
and this value will be accumulated into the 'total' value.
Otherwise it will be the sum of the INBOUND_BYTES + OUTBOUND_BYTES
If you wish for the expected mathematical value of 'Total' = 'In' + 'Out'
then don't use 'Full Duplex' mode!
Maybe it would be more appropriate to change the word 'Total' to
something more meaningful such as 'Maximum'
I hope this clears things up for you.
- Darrell
|
4520.5 | answer to question #2 in .0 | TOOK::STAM | | Wed Apr 21 1993 11:46 | 49 |
| QUESTION:
How does a peak of 11,697 bytes/sec equate to a peak utilization of
131%, given that the line speed is 256 kbytes/sec?
ANSWER:
Again, this is taken from the Datatrieve commands, but the same
should be similar in SQL.
Below I will provide you with a snippet of the algorithm used to
generate the values in question.
First, once the database is readied:
DECLARE TOT_UTIL_COMPUTED COMPUTED BY
CHOICE (PROTOCOL NE 6) AND (DUPLEX = 0) AND
(OUTBOUND_UTILIZATION > INBOUND_UTILIZATION) THEN
OUTBOUND_UTILIZATION
(PROTOCAL NE 6) AND (DUPLEX = 0) AND
(OUTBOUND_UTILIZATION < INBOUND_UTILIZATION) THEN
INBOUND_UTILIZATION
ELSE (OUTBOUND_UTILIZATION + INBOUND_UTILIZATION)/2
END_CHOICE.
See previous answer (.-1) for PROTOCAL NE 6, DUPLEX = 0 clarification.
For *EACH* record found:
The 'Utilization of Total Bandwidth' is computed by:
(TOTAL TOT_UTIL_COMPUTED / COUNT)
The 'Peak %Utilization based on Bandwidth' is computed by:
(MAX TOT_UTIL_COMPUTED)
The 'Peak Bytes/Sec' is computed by:
(FN$FLOOR(TOT_BYTES_COMPUTED)/DURATION)
I am not sure where COUNT or DURATION are calculated, but I think
it is either declared in the schema, or a calculation tool set by
DATATRIEVE when it collects records.
As with the previous answer, TOT_UTIL_COMPUTED will be the larger
of either OUTBOUND_UTILIZATION or INBOUND_UTILIZATION since you
are using 'Full Duplex' mode. *NOTE* TOT_UTIL_COMPUTED changes
value for *EACH* record found!
I hope this clears things up...
|