load-balancingstateserver

Two versions of same asp.net app using same server as stateserver - bad?


We have 2 production web servers for our web app, load balanced to handle lots of traffic.

We also have a similar setup for testing.

Test pool:    [TEST 1]---[TEST 2] 

Prod pool:    [PROD 1]---[PROD 2]

When comparing the Web.Config of the app versions (test vs live) I discovered something surprising: both pools have the same value for stateConnectionString. If I understand right, this means they are using the same state server:

<sessionState 
mode="StateServer" 
stateConnectionString="tcpip=123.123.123.123:42424"
cookieless="false" 
timeout="30"/>

Is this a problem? (How does the state server not confuse the two pools)?

I was having odd only-sometimes slowdown/errors on the test server, that's why I was looking at this in the first place, but the prod pool runs fine...


Solution

  • What this really means is that server 123.123.123.123 is the single source of all shared state for all servers on the web farm.

    It's no different conceptually than storing the state in a centralized database, except in this case it's all stored on that one server in memory, and not a database.

    I don't see anything wrong with it, per se..