ltm rule command LB queueΒΆ

iRule(1)		      BIG-IP TMSH Manual		      iRule(1)



LB::queue
       Returns queue information.

SYNOPSIS
       LB::queue queued

       LB::queue on
			 connlimit
			 (POOL_OBJ)?

       LB::queue limit
			 (depth | time)
			 (POOL_OBJ)?

       LB::queue depth
			 ('all' | 'one')
			 (POOL_OBJ (IP_ADDR (PORT)? )? )?

       LB::queue age
			 ('edm' | 'ema' | 'head' | 'max')
			 (POOL_OBJ (IP_ADDR (PORT)? )? )?

DESCRIPTION
       Returns queue information. Connection queuing details:

	   * Operates at the TCP level
	   * Only engages when the connection limit is hit
	   * Queue is specified by length, time, or both (in the pool configuration)
	   * Queues operate per-tmm, there is no state sharing
	       * Length limit divided by tmm count
	       * FIFO guarantees only per-tmm
	   * Queued at the pool level for non-persistent connections
	   * Queued at the pool member level for persistent connections.
	       * If connection limit is overridden by persistence, that connection is not queued
	   * When a pool member becomes available, it checks the head of its queue, and of the pool's queue, and services the flow that got there first.

       Currently, there is no explicit control over queuing. Once queued, you
       can still use existing commands to control flows (e.g. HTTP::respond,
       node, pool, drop, reject, etc.) There is no support for queue priority
       at this time, it is strictly FIFO.

       Syntax:
	   LB::queue limit depth|time []
	   LB::queue on connlimit []
	   LB::queue depth all|one [ [ ]]
	   LB::queue age head|max|edm|ema [ ]]
	   LB::queue queued

RETURN VALUE
       LB::queue limit depth|time []
	   Returns queue limit info (depth is per-tmm)

       LB::queue on connlimit []
	   Returns "enabled" or "disabled"

       LB::queue depth all|one [ [ ]]
	   Returns queue depth information (all is sum of pool members)

       LB::queue age head|max|edm|ema [ ]]
	   Returns queue age statistics
	   Current head of queue, all-time max, exponential-decaying max, or
       exponential moving-average

       LB::queue queued
	   Returns true if this connection is or was queued

VALID DURING
       ANY_EVENT

EXAMPLES
	when LB_QUEUED {
	    log local0. "[IP::local_addr] was queued - [LB::queue depth one pool1] / [LB::queue limit depth pool1]"
	}

	which with a queue depth of 5 returns:
	Rule queue_log : 10.10.128.1 was queued - 1/5
	Rule queue_log : 10.10.128.1 was queued - 2/5
	Rule queue_log : 10.10.128.1 was queued - 3/5
	Rule queue_log : 10.10.128.1 was queued - 4/5
	Rule queue_log : 10.10.128.1 was queued - 5/5
	Rule queue_log : 10.10.128.1 was queued - 5/5

HINTS
SEE ALSO
CHANGE LOG
       @BIGIP-11.0.0 --First introduced the command.



BIG-IP				  2017-01-31			      iRule(1)