DDOS - Denial of Service Test

  Tested in an independent third party QA lab environment on a SunSparc 250, dual processor, 512 MB of RAM

# Of Users # Of Active Rooms Message rate/User CPU Utilization Memory Utilization (total used by system) Notes
3750* 200 1/minute 10% 130MB Rooms populated via round robin logic.
2750* 200 1/second ~ 94% 200MB Rooms populated via round robin logic.

Table 1

The statistics tell a strong story, but more importantly the load testing shows empirical data, which in this case is a direct view of user experience.
With the sustained load of 3750* users chatting, found in row 1 in Table 1, we launched a few additional chat clients to determine if the load would affect the user experience. The results indicated that there were no delays to speak of. It never took more than 4 seconds for a message launched from one client to reach another client. The QA team repeatedly performed the empirical tests in hopes to find a sore spot but was unable to do so.
The server had absolutely no issues handling the load while still providing a good user experience.

The second row in Table 1, shows the results of an abnormally abusive situation. The QA team increased the load for this test by 60 times the previous test. This is far beyond the reality of a normal user scenario. If you do see this type of activity on your chat servers it will be indicative of a denial of service attack. The server would normally catch this, but in this test they had set up the server so that it would allow such a scenario to exist. This concept (denial of service attack) is a major concern for your entire site and the CustomChat™ server handles it gracefully in its default configuration.

Now that they had the server under undue duress, they went back to the additional clients to determine user experience. Shockingly, the user experience altered little. With this system load, the chat events were taking no more than 6 seconds to update. This is only a 50% increase in times that a user would experience during high load and is far below the threshold that a user would consider acceptable (2 seconds is mostly imperceptible by most people). 

 

(more...)