All Classes Namespaces Files Functions Pages
Layer5.Http.MultiServer Class Reference

Http.MultiServer provides the server-side for Layer5.Http.MultiClient. More...

Methods

 Description.Get
 Returns a textual description of the object.
 
 MaximumSegmentSize.Get
 Returns the TCP maximum segment size. More...
 
 MaximumSegmentSize.Set size
 Sets the TCP maximum segment size. More...
 
 Parent.Get
 Returns the parent object.
 
 Port.Get
 Returns the TCP port for the HTTP server. More...
 
 Port.Set port
 Sets the TCP port on which the HTTP server will listen. More...
 
 ReceiveWindow.InitialSize.Get
 Gets the initial receive window for the server. More...
 
 ReceiveWindow.InitialSize.Set windowsize
 Sets the initial receive window for the server. More...
 
 ReceiveWindow.Scaling.Enable scaling
 Enables of disables windowscaling. More...
 
 ReceiveWindow.Scaling.IsEnabled
 Returns if window scaling is enabled or not. More...
 
 ReceiveWindow.Scaling.Value.Get
 Returns the current receive window scale. More...
 
 ReceiveWindow.Scaling.Value.Set scale
 Sets the window scale which will be used for new clients. More...
 
 Result.Get
 Returns the current result counters. More...
 
 Result.History.Get
 Returns the result history. More...
 
 Sampling.BufferLength.Get
 Number of samples to keep in the buffer. More...
 
 Sampling.BufferLength.Set
 Sets the number of samples to keep in the buffer. More...
 
 Sampling.Interval.Duration.Get
 Duration of one sampling interval in nanoseconds. More...
 
 Sampling.Interval.Duration.Set
 Sets the duration of one sampling interval. More...
 
 SlowStartThreshold.Get
 Returns the initial slow-start threshold value used by TCP. More...
 
 SlowStartThreshold.Set ssthresh
 Set the initial slow-start threshold value used by TCP. More...
 
 Start
 Starts the HTTP server on the configured port with the configured configuration. More...
 
 Status.Get
 Returns the HTTP server status. More...
 
 Stop
 Stops the HTTP server. More...
 
 Tcp.CongestionAvoidance.Algorithm.Get
 Gets the current TCP Congestion Avoidance Algorithm for new clients. More...
 
 Tcp.CongestionAvoidance.Algorithm.Set congestionAvoidanceAlgorithm
 Selects the TCP Congestion Avoidance Algorithm. More...
 
 Tcp.Prague.Enable
 Enables TCP Prague congestion control for L4S.
 
 Tcp.Prague.IsEnabled
 Returns if TCP Prague congestion control is enabled or not.
 

Class overview

Http.MultiServer provides the server-side for Layer5.Http.MultiClient.

See Layer5.Http.MultiClient for more information.

Since
2.10.0

Definition at line 15201 of file api.tcl.

Method documentation

Layer5.Http.MultiServer::MaximumSegmentSize.Get

Returns the TCP maximum segment size.

The default value is 65535.

Example
1 $httpMultiServer MaximumSegmentSize.Set 65535

Definition at line 15218 of file api.tcl.

Layer5.Http.MultiServer::MaximumSegmentSize.Set   size  

Sets the TCP maximum segment size.

This option specifies an upper bound on the TCP segment size.

Parameters
sizeMaximum segment size. Should be between 1 and 65535.
Example
1 $httpMultiServer MaximumSegmentSize.Set 65535

Definition at line 15232 of file api.tcl.

Layer5.Http.MultiServer::Port.Get

Returns the TCP port for the HTTP server.

Returns
The configured TCP Port
Example
1 $httpMultiServer Port.Get

Returns:

42365 

Definition at line 15249 of file api.tcl.

Layer5.Http.MultiServer::Port.Set   port  

Sets the TCP port on which the HTTP server will listen.

Parameters
portThe TCP port on which the HTTP server will listen for incoming requests.
Exceptions
ByteBlower.Exception.InvalidValue.Integerwhen the value is not an Integer
ByteBlower.Exception.InvalidConfigwhen the value is not between 1 and 65535
Example
1 $httpMultiServer Port.Set 80

Definition at line 15265 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.InitialSize.Get

Gets the initial receive window for the server.

Small windowsizes can decrease the performance of a TCP session. Please use a good size for your configuration and network setup.

Exceptions
ByteBlower.Exception.InvalidValue.Integerwhen the value is not an Integer
Example
1 $httpMultiServer ReceiveWindow.InitialSize.Get

Definition at line 15279 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.InitialSize.Set   windowsize  

Sets the initial receive window for the server.

Small windowsizes can decrease the performance of a TCP session. Please use a good size for your configuration and network setup.

Parameters
windowsizeNew value of the initial receive window.
Exceptions
ByteBlower.Exception.InvalidValue.Integerwhen the value is not an Integer
Example
1 $httpMultiServer ReceiveWindow.InitialSize.Set 65535

Definition at line 15295 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.Scaling.Enable   scaling  

Enables of disables windowscaling.

Windowscaling allows windowsizes to grow further than 65,536 bytes. For high speed or high latency links, window scaling should be enabled for a good throughput.

Parameters
scalingBoolean which will enable ( true or >0 ) or disable ( false or 0 ) windowscaling. Following values can be used:
Exceptions
ByteBlower.Exception.InvalidValuewhen the value is not an integer or true or false
Example

To enable window scaling

1 $httpMultiServer WindowScaling.Enable 1

or

1 $httpMultiServer WindowScaling.Enable true

To disable window scaling

1 $httpMultiServer WindowScaling.Enable 0

or

1 $httpMultiServer WindowScaling.Enable false

Definition at line 15311 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.Scaling.IsEnabled

Returns if window scaling is enabled or not.

Windowscaling allows windowsizes to grow further than 65,536 bytes. For high speed or high latency links, window scaling should be enabled for a good throughput.

Returns
1
window scale enabled
0
window scale disabled
Example
1 $httpMultiServer ReceiveWindow.Scaling.IsEnabled

When enabled: Returns:

1 

When disabled: Returns:

0 

Definition at line 15325 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.Scaling.Value.Get

Returns the current receive window scale.

The TCP window scale option is an option to increase the receive window size allowed in Transmission Control Protocol above its former maximum value of 65,535 bytes. This TCP option, along with several others, is defined in IETF RFC 1323.

Returns
current receive window scale
Example
1 $httpMultiServer ReceiveWindow.Scaling.Value.Get

Returns:

3 

Definition at line 15339 of file api.tcl.

Layer5.Http.MultiServer::ReceiveWindow.Scaling.Value.Set   scale  

Sets the window scale which will be used for new clients.

This must be done before requesting a page from a client, because this option is negotiated at the beginning of the TCP session.

The TCP window scale option is an option to increase the receive window size allowed in Transmission Control Protocol above its former maximum value of 65,535 bytes. This TCP option, along with several others, is defined in IETF RFC 1323.

Parameters
scaleInteger (0-8), which is used for bitwise shifting.
Exceptions
ByteBlower.Exception.InvalidValue.Integerwhen the value is not an integer
Example
1 $httpMultiServer ReceiveWindow.Scaling.Value.Set 3

Definition at line 15357 of file api.tcl.

Layer5.Http.MultiServer::Result.Get

Returns the current result counters.

Returns
The OID of the Layer5.Http.MultiResultSnapshot object.
Example
1 $httpMultiServer Result.Get

Returns:

<Layer5.Http.MultiResultSnapshot object> 

Definition at line 15369 of file api.tcl.

Layer5.Http.MultiServer::Result.History.Get

Returns the result history.

This method returns a Layer5.Http.MultiResultHistory Object. This will contain the Cumulative and the Interval counters over time.

Returns
The OID of the Layer5.Http.MultiResultHistory object.
Example
1 $httpMultiClient Results.History.Get

Returns:

<Layer5.Http.MultiResultHistory object> 

Definition at line 15383 of file api.tcl.

Layer5.Http.MultiServer::Sampling.BufferLength.Get

Number of samples to keep in the buffer.

The ByteBlower server has a buffer to keep some samples before they are transferred to the client. This method gets the maximum number of samples the server can hold.

Returns
The length of the server sample buffer

Definition at line 15393 of file api.tcl.

Layer5.Http.MultiServer::Sampling.BufferLength.Set

Sets the number of samples to keep in the buffer.

The ByteBlower server has a buffer to keep some samples before they are transferred to the client. This method sets the maximum number of samples the server can hold.

Example
1 $httpMultiServer Sampling.BufferLength.Set 6

Definition at line 15405 of file api.tcl.

Layer5.Http.MultiServer::Sampling.Interval.Duration.Get

Duration of one sampling interval in nanoseconds.

Example
1 $httpMultiServer Interval.Duration.Get

Returns:

1000000000 

Definition at line 15415 of file api.tcl.

Layer5.Http.MultiServer::Sampling.Interval.Duration.Set

Sets the duration of one sampling interval.

Example
1 $httpMultiServer Sampling.Interval.Duration.Set 1000000000
Example
1 $httpMultiServer Sampling.Interval.Duration.Set 1s

Definition at line 15427 of file api.tcl.

Layer5.Http.MultiServer::SlowStartThreshold.Get

Returns the initial slow-start threshold value used by TCP.

The slow-start threshold indicates when the slow-start phase ends and the congestion avoidance phase starts. Consider increasing this value if you find that TCP takes a long time to reach peak throughput. See RFC 5681 "TCP Congestion Control" for more information on this topic.

Returns
Slow-start threshold
Example
1 $httpMultiServer SlowStartThreshold.Get

Returns:

65535 

Definition at line 15441 of file api.tcl.

Layer5.Http.MultiServer::SlowStartThreshold.Set   ssthresh  

Set the initial slow-start threshold value used by TCP.

The slow-start threshold indicates when the slow-start phase ends and the congestion avoidance phase starts. Consider increasing this value if you find that TCP takes a long time to reach peak throughput. See RFC 5681 "TCP Congestion Control" for more information on this topic.

Parameters
ssthreshNew value for the slow-start threshold
Exceptions
ByteBlower.Exception.InvalidValuewhen the value is not a positive integer
Example

To set slow-start threshold to 1000000

1 $httpMultiServer SlowStartThreshold.Set 1000000

Definition at line 15459 of file api.tcl.

Layer5.Http.MultiServer::Start

Starts the HTTP server on the configured port with the configured configuration.

Example
1 $httpMultiServer Start

Definition at line 15469 of file api.tcl.

Layer5.Http.MultiServer::Status.Get

Returns the HTTP server status.

Returns
stopped
The HTTP server is not running
started
The HTTP server is active
Example

Before starting the HTTP server:

1 $httpMultiServer Status.Get

{stopped} After starting the HTTP server:

1 $httpMultiServer Status.Get

{started}

Definition at line 15481 of file api.tcl.

Layer5.Http.MultiServer::Stop

Stops the HTTP server.

Running sessions will be aborted and incoming connection requests will be refused.

Example
1 $httpMultiServer Stop

Definition at line 15493 of file api.tcl.

Layer5.Http.MultiServer::Tcp.CongestionAvoidance.Algorithm.Get

Gets the current TCP Congestion Avoidance Algorithm for new clients.

Returns
current Congestion Avoidance Algorithm. Possible values are:
  • none
  • sack
  • newreno
  • sack-with-cubic
  • newreno-with-cubic
Example
1 $httpMultiServer Tcp.CongestionAvoidance.Algorithm.Get

Returns:

sack 

Definition at line 15505 of file api.tcl.

Layer5.Http.MultiServer::Tcp.CongestionAvoidance.Algorithm.Set   congestionAvoidanceAlgorithm  

Selects the TCP Congestion Avoidance Algorithm.

Selects the TCP Congestion Avoidance Algorithm which will be used for new clients. This must be selected before requesting a page from a client, because for some algorithms, the congestion avoidance support is negotiated a the beginning of the TCP session.

Parameters
congestionAvoidanceAlgorithmCongestion Avoidance Algorithm to configure.
  • none
  • sack
  • newreno
  • sack-with-cubic
  • newreno-with-cubic
Exceptions
<tcl_error>Failed to parse enumerator: When the value could not be interpreted as a valid TCAA
Example

Configure NewReno as congestionAvoidance Algorithm

1 $httpMultiServer Tcp.CongestionAvoidance.Algorithm.Set newreno

Configure Sack as congestionAvoidance Algorithm

1 $httpMultiServer Tcp.CongestionAvoidance.Algorithm.Set sack

Configure None as congestionAvoidance Algorithm

1 $httpMultiServer Tcp.CongestionAvoidance.Algorithm.Set none

Definition at line 15521 of file api.tcl.