Eric Johnson wrote:
Hi. I'm new to this forum and was wondering if I could get some assistance. I have an SSL Acceleration device that is comparable of supporting 50,000 concurrent connections. I would like to put this in my lab here at work and test the upper limit of this device. I'm concerned about the backend web server needed for this test effort. I'm trying to find out what the "appropriate" number of backend servers needed to test the upper limit of the SSL device. If I understand correctly each backend server is going to have an upper limit of 65535 TCP ports that can be opened (as the Source IP will most likely always be the SSL device). On the surface it looks like the backend server "should" be enough to handle the upper limit of the SSL device. However, that assumes that every connection is successful and the backend server has enough other resources to handle the load. Does anybody have any practical experience with this? And any recommendations on the number of backend servers at a specific load? Thanks in advance

An SSL session is presumably mapped to a TCP connection.

A TCP connection is "named" by the four-tuple of local and remote IP, and local and remote port number. Ignoring holes in the address space, that means there can be 2^32 * 2^32 * 2^16 * 2^16 TCP connections in any one Internet universe.

If you have a "well known" port number used on a server, all the clients connect to that port number. Each of the connections will have the server IP and server port number as part of its name, but the names will be unique because they will also have the client IP and client port number. Multiple connections from one client IP will have different client port numbers, so there will still be unique names.

So in theory, a backend server can have _very_ many more than 65535 connections. However, you are correct in that to a well-known port and a single server IP, from a single client IP, there can be no more than 65535 connections at any one time.

I suspect that if the SSL device is regenerating TCP connections, _it_ becomes the client, and so it is _its_ limitation on port numbers and its single IP address which comes into play.

As for how many servers, that is one of those "it depends" things - how busy are each of the connections through the SSL device etc etc. If all you are doing is establish the connection, exchange a request and response and then close, that will look to the back-end server or servers rather like the old SPECweb96 benchmark. If connections are persistent and include some dynamic content, it will look to the back-end server rather like the SPECweb99 benchmark. If there is no dymanic content, but connections are persistent it will look different from the two - but a give result would be higher than the corresponding SPECweb96 or SPECweb99 score.

If you want to be certain you are measuring the SSL device then you want as many back-end servers as you can muster. Perhaps as many as you have front-end clients driving the load.

rick jones

There is a crufty old "SSLperf" benchmark that took the average request/response size from SPECweb9[69] and the SPECweb96 behaviour of connect request response close but did it with SSL using IIRC RSA mumble. It leveraged the "curl" utility and should still be archived on ftp://ftp.cup.hp.com/dist/networking/benchmarks somewhere .
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to