05-26-2009 07:48 AM
I would like to send multiple client requests (even from different client) via the same backend connection to a real server.
05-26-2009 08:21 AM
Yes, this is possible. Have a look at the documentation and search for tcp-offload. Other vendors do call tcp-multiplexing. The configuration is actually pretty simple because all you have to do is to enable this feature below the virtual servers http port you would like to use it for:
server virtual whatever 220.127.116.11
port http tcp-offload
The ServerIron is going to keep client connections open so that he is able to reuse the connection for additional client request which need to hit the same server for some reason.
TCP offload mode allows a request from one connection on the client side to reuse any established connection on the server side.
Have a look at the output of the command show server session keep-alive to see what is actually getting done (this is at the WSM CPU level):
ServerIron 4/1#show server sess keep
Server State - 1:enabled, 2:failed, 3:test, 4:suspect, 5:grace_dn, 6:active
Real Server St CltConn:Cur/Tot SerConn:Cur/Tot CurrTrans IdleSerCon TotTrans
rs101 6 24/262 1/60 0 1 293
rs102 6 24/248 1/54 0 1 289
There are two real servers with the names rs101 and rs102. There were 262 + 248 (=510) client-side connections so far and there were 293+289 (=582) transactions (HTTP requests) inside these 510 client connections so far. It took 60 + 54 (=114) server-side connections to send these requests/connections to the back servers.
I hope this is understandable.
05-26-2009 08:29 AM
Thanks a lot - this is pretty useful but I think I am still missing something. I do remember a limit of 65K concurrent connections per backend IP - where do I configure the backend IPs and what is the limit here?
So: how many backend connections are supported talking about the ServerIron ADX?
05-26-2009 08:37 AM
There are not any pre-allocated IPs for backend connections talking about the ServerIron like with other vendors. The ServerIron is going to keep the client connections open. The ServerIron is going to use the client IP to talk to the backend servers and this is the IP address the backend server is talking with. The ServerIron is going to keep these client connections open to use them again for other clients.
Other vendors do use special IP addresses to do this resulting in 65K concurrent connections to the backend due to the fact that there are ~65K TCP/UDP ports available for use.
The ServerIron is going to keep additional client connections open whenever necessary and the amount of backend and frontend connection is limited due to the session table (a few million) and nothing else.
Have a look at the age and transactions parameter behind tcp-offload in case you would like to speed things up further.
port http tcp-offload age x
port http tcp-offload transactions y
x = minutes
y = max # of transactions