Discussions

Performance and scalability: failover

  1. failover (4 messages)

    Hi,
    Can someone tell how a webserver (on win 2003 server) should be configured to allow scalability. Currently, there are around 100 users. It will soon scale to 8000 users. What are the requirements? Can that single machine handle all users? Is clustering necessary? Can you also suggest some documentation where I can this infofrmation?

    Can you also suggest how a failover over server should be setup as a backup to the original machine?

    Thank you

    Threaded Messages (4)

  2. failover[ Go to top ]

    Hi, Can someone tell how a webserver (on win 2003 server) should be configured to allow scalability. Currently, there are around 100 users. It will soon scale to 8000 users.

    What is the load on that server with 100 users? If it is less than 1%, then you may be OK, otherwise you are going to need to make some changes.
    What are the requirements?

    Without load metrics, there is no way to determine the requirements, because every application is different.
    Can that single machine handle all users?

    Sure, if the app is well done and not too complicated, then a single machine can handle 8000 users.

    OTOH, if the app is complex in what it has to do, or if it is poorly written, then a single machine might not even handle 100 concurrent users.
    Is clustering necessary?

    In addition to what I said above, clustering is only necessary to accomplish things like:

    1) sharing (or caching) live data among those servers
    2) failing over in-memory session state (etc.) without impacting the users of the application
    Can you also suggest some documentation where I can this infofrmation? Can you also suggest how a failover over server should be setup as a backup to the original machine?

    There was an article recently here on TSS that discussed this. See: http://www.theserverside.com/news/thread.tss?thread_id=35831

    You can also find information on clustering from the J2EE server vendor that you use, or see: http://www.tangosol.com/

    Peace,

    Cameron Purdy
    Tangosol Coherence: Clustered Shared Memory for Java
  3. session failover[ Go to top ]

    You need to provide better characterization of the load characterstics of your current web server. It might very well be that your current server can handle 8000 users

    (To go from 100 to 800 users you will have to make some changes to the TCP stack defaults on Windows. If I remember correctly, you will have to adjust parameters like TcpNumConnections etc. But those are details that you can get off the Microsoft website)

    That said, it still makes sense to have a failover server to provide a better user experience

    Rather than using a whole second machine as standby, it might be a better idea to simply load balance across the two and provide transparent session state replication from one machine to the other. Session replication allows either server to take over sessions from a failed server without loss of session information or session state.

    Distributed session replication products are available from data fabric vendors and you can take a look at Gemfire from Gemstone Systems at www.gemstone.com, which has been used in the past for doing that among other things.

    You can quickly add session replication and failover capabilities with Gemfire very easily. Using such a solution would allow you to scale to more servers in the future without worrying about the failover aspect

    Suds
    www.gemstone.com
  4. failover[ Go to top ]

    BTW - what app server are you using?

    Peace,

    Cameron Purdy
    Tangosol Coherence: Clustered Shared Memory for Java
  5. Hi, Can someone tell how a webserver (on win 2003 server) should be configured to allow scalability. Currently, there are around 100 users. It will soon scale to 8000 users. What are the requirements? Can that single machine handle all users? Is clustering necessary? Can you also suggest some documentation where I can this infofrmation? Can you also suggest how a failover over server should be setup as a backup to the original machine? Thank you

    If you are going to have 8000 users, this means more or less 250 page request per second (appart from the images, java scrits, and so on). If you are not going to use SSL, then a simple two-CPU machine could be enough. If you are going to use SSL, you need a lot more of machines, unless you consider buying a SSL hardware accelerator.


    Jose Ramon Huerga
    http://www.terra.es/personal/jrhuerga