The value of HTTP_MAIN_0091 is very high, HTTP_MAIN_0102 is normal, and HTTP persistent is enabled.
If the Client Workers at the idle state is too high, it might introduce high HTTP_MAIN_0091.
HTTP_MAIN_0090 = Maximum acceptable concurrent client connections, the value varies depending on the device models.
HTTP_MAIN_0091 = Currently Established Client connections = Client workers currently active + Client workers currently idle.
HTTP_MAIN_0102 = Client workers currently active
HTTP_MAIN_0091 can not exceed HTTP_MAIN_0090.
The idea of HTTP persistent is for a single TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new TCP connection for every single request/response pair. It improves performance by reducing the overhead from TCP handshakes. When a Client Worker is processing HTTP request/response, it is active. When there is no HTTP activity, Client Workers go into Idle state .
Change the HTTP/Persistent connection timeout can reduce the number of Client Workers at the idle state. The default value of the Persistent connection timeout on the server side is 900 seconds, and the default value of the Persistent connection timeout on the client side is 360 seconds.
It needs to be configured via CLI:
#show http #config t #(config)http persistent-timeout client num_seconds #(config)http persistent-timeout server num_seconds