--- a/gameServer/stresstest.hs Thu Apr 07 11:30:56 2011 -0400
+++ b/gameServer/stresstest.hs Thu Apr 07 21:43:43 2011 +0400
@@ -14,12 +14,13 @@
import System.Posix
#endif
-session1 nick room = ["NICK", nick, "", "PROTO", "32", "", "PING", "", "CHAT", "lobby 1", "", "CREATE_ROOM", room, "", "CHAT", "room 1", "", "QUIT", "creator", ""]
-session2 nick room = ["NICK", nick, "", "PROTO", "32", "", "LIST", "", "JOIN_ROOM", room, "", "CHAT", "room 2", "", "PART", "", "CHAT", "lobby after part", "", "QUIT", "part-quit", ""]
-session3 nick room = ["NICK", nick, "", "PROTO", "32", "", "LIST", "", "JOIN_ROON", room, "", "CHAT", "room 2", "", "QUIT", "quit", ""]
+session 0 nick room = ["NICK", nick, "", "PROTO", "38", "", "PING", "", "CHAT", "lobby 1", "", "PONG", "", "CREATE_ROOM", room, "", "CHAT", "room 1", "", "QUIT", "creator", ""]
+session 1 nick room = ["NICK", nick, "", "PROTO", "38", "", "LIST", "", "JOIN_ROOM", room, "", "PONG", "", "CHAT", "room 2", "", "PART", "", "CHAT", "lobby after part", "", "QUIT", "part-quit", ""]
+session 2 nick room = ["NICK", nick, "", "PROTO", "38", "", "LIST", "", "JOIN_ROOM", room, "", "PONG", "", "CHAT", "room 2", "", "QUIT", "quit", ""]
+session 3 nick room = ["NICK", nick, "", "PROTO", "38", "", "CHAT", "lobby 1", "", "CREATE_ROOM", room, "", "", "PONG", "CHAT", "room 1", "", "PART", "creator", "", "QUIT", "part-quit", ""]
emulateSession sock s = do
- mapM_ (\x -> hPutStrLn sock x >> hFlush sock >> randomRIO (1000000::Int, 3000000) >>= threadDelay) s
+ mapM_ (\x -> hPutStrLn sock x >> hFlush sock >> randomRIO (100000::Int, 600000) >>= threadDelay) s
hFlush sock
threadDelay 225000
@@ -27,22 +28,22 @@
putStrLn "Start"
sock <- connectTo "127.0.0.1" (PortNumber 46631)
- num1 <- randomRIO (70000::Int, 70100)
- num2 <- randomRIO (0::Int, 2)
- num3 <- randomRIO (0::Int, 5)
+ num1 <- randomRIO (100000::Int, 101000)
+ num2 <- randomRIO (0::Int, 3)
+ num3 <- randomRIO (0::Int, 1000)
let nick1 = 'n' : show num1
- let room1 = 'r' : show num2
- case num2 of
- 0 -> emulateSession sock $ session1 nick1 room1
- 1 -> emulateSession sock $ session2 nick1 room1
- 2 -> emulateSession sock $ session3 nick1 room1
+ let room1 = 'r' : show num3
+ emulateSession sock $ session num2 nick1 room1
hClose sock
putStrLn "Finish"
forks = forever $ do
- delay <- randomRIO (0::Int, 90000)
- threadDelay delay
- forkIO testing
+ delays <- randomRIO (0::Int, 2)
+ replicateM 200 $
+ do
+ delay <- randomRIO (delays * 20000::Int, delays * 20000 + 50000)
+ threadDelay delay
+ forkIO testing
main = withSocketsDo $ do
#if !defined(mingw32_HOST_OS)