SmartFox is throttling on 7k ccu, below that works great
Posted: 15 Jan 2013, 12:15
Hi All,
Month ago we have started our first MMO game for smartphone platforms (Android/iOS). We use SFS2X version 2.3.0 (unlimited users license) and Unity/.Net/Mono C# API client version 1.0.5. We noticed that at scale 7k ccu SFS is throttling, while below this value everything is ok. Typical symptoms are: sfs console (dashboard) is stuck for a moment, there are peaks on internet traffic (downs and ups – we observe that in monitoring of our server) – that suggests that sfs is blocked for a moment and traffic is lower for a few seconds, one moment later bigger traffic is back (sfs continues to work). I think that it is not a matter of lack CPU or heap memory. We use EC2 instance with 8 CPU and RightScale service to manage the instances and for monitoring, and we see that max cpu usage (at peak) is about 40%. There are no queues at extension pool thread or system pool thread. I don`t think it is a network problem because throttling occurs only above 7k ccu (we observe this everyday when peak of users comes). Thread dump also looks ok. We started even measuring GC (verbosegc command-line option) and FGC at peak is about 2,4secs and max GC is about 0,04secs). One more thing we have noticed is that, when the scale of ccu is below 7k ccu (SFS works like a charm) we observe (in the logs) that sessions are created smoothly (session creation is evenly distributed in time), but above 7k ccu (in our case) sessions are created in bigger packages – packages have about 100 sessions and they are created within 4 milliseconds. It looks like SFS buffers creation of the session and fire it in constant period of time (in our case every 5 seconds). This could be cause of throttling of the whole server, or this is only a result of something else. Lapo, what do you think? Is there any parameter that we could/should tune? Does anyone have the same problem?
Thanks in Advance,
Robert
Month ago we have started our first MMO game for smartphone platforms (Android/iOS). We use SFS2X version 2.3.0 (unlimited users license) and Unity/.Net/Mono C# API client version 1.0.5. We noticed that at scale 7k ccu SFS is throttling, while below this value everything is ok. Typical symptoms are: sfs console (dashboard) is stuck for a moment, there are peaks on internet traffic (downs and ups – we observe that in monitoring of our server) – that suggests that sfs is blocked for a moment and traffic is lower for a few seconds, one moment later bigger traffic is back (sfs continues to work). I think that it is not a matter of lack CPU or heap memory. We use EC2 instance with 8 CPU and RightScale service to manage the instances and for monitoring, and we see that max cpu usage (at peak) is about 40%. There are no queues at extension pool thread or system pool thread. I don`t think it is a network problem because throttling occurs only above 7k ccu (we observe this everyday when peak of users comes). Thread dump also looks ok. We started even measuring GC (verbosegc command-line option) and FGC at peak is about 2,4secs and max GC is about 0,04secs). One more thing we have noticed is that, when the scale of ccu is below 7k ccu (SFS works like a charm) we observe (in the logs) that sessions are created smoothly (session creation is evenly distributed in time), but above 7k ccu (in our case) sessions are created in bigger packages – packages have about 100 sessions and they are created within 4 milliseconds. It looks like SFS buffers creation of the session and fire it in constant period of time (in our case every 5 seconds). This could be cause of throttling of the whole server, or this is only a result of something else. Lapo, what do you think? Is there any parameter that we could/should tune? Does anyone have the same problem?
Thanks in Advance,
Robert