I have a game with about 800 CCU. Everything works fine (cpu, memory, mysql, ... <10%) but occasionally clients start to receive SFSEvent.SOCKET_ERROR disconecting 100 or more users but not all off them. Not all the users receives this event and when it happens the game continues working normally.
Some of the errors that appear in the SFS:
Code: Select all
24 Nov 2011 18:37:30,745 WARN [com.smartfoxserver.v2.controllers.SystemController-1] v2.controllers.SystemController -
com.smartfoxserver.bitswarm.exceptions.SessionReconnectionException: Session Reconnection failure. The passed Session is not managed by the ReconnectionManager: java.nio.channels.SocketChannel[connected local=/***********:9933 remote=/************:52184]
com.smartfoxserver.bitswarm.sessions.DefaultReconnectionManager.reconnectSession(DefaultReconnectionManager.java:134)
com.smartfoxserver.bitswarm.sessions.DefaultSessionManager.reconnectSession(DefaultSessionManager.java:376)
com.smartfoxserver.v2.controllers.system.Handshake.execute(Handshake.java:68)
com.smartfoxserver.v2.controllers.SystemController.processRequest(SystemController.java:129)
com.smartfoxserver.bitswarm.controllers.AbstractController.run(AbstractController.java:96)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
24 Nov 2011 18:37:39,853 WARN [com.smartfoxserver.v2.controllers.SystemController-7] v2.controllers.SystemController -
com.smartfoxserver.bitswarm.exceptions.SessionReconnectionException: Session Reconnection failure. The passed Session is not managed by the ReconnectionManager: java.nio.channels.SocketChannel[connected local=/**********:9933 remote=/*********:49397]
com.smartfoxserver.bitswarm.sessions.DefaultReconnectionManager.reconnectSession(DefaultReconnectionManager.java:134)
com.smartfoxserver.bitswarm.sessions.DefaultSessionManager.reconnectSession(DefaultSessionManager.java:376)
com.smartfoxserver.v2.controllers.system.Handshake.execute(Handshake.java:68)
com.smartfoxserver.v2.controllers.SystemController.processRequest(SystemController.java:129)
com.smartfoxserver.bitswarm.controllers.AbstractController.run(AbstractController.java:96)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
24 Nov 2011 18:37:53,344 WARN [SocketWriter-1] bitswarm.core.SocketWriter - Error during write. Session: { Id: 807, Type: DEFAULT, Logged: Yes, IP: ******************:49336 }
24 Nov 2011 18:37:53,345 WARN [SocketWriter-1] bitswarm.core.SocketWriter -
java.lang.NullPointerException
com.smartfoxserver.bitswarm.core.SocketWriter.processRegularSession(SocketWriter.java:262)
com.smartfoxserver.bitswarm.core.SocketWriter.processSessionQueue(SocketWriter.java:197)
com.smartfoxserver.bitswarm.core.SocketWriter.run(SocketWriter.java:173)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
the server.xml:
Code: Select all
<serverSettings>
<socketAddresses>
</socketAddresses>
<ipFilter>
<addressBlackList>
</addressBlackList>
<addressWhiteList>
</addressWhiteList>
<maxConnectionsPerAddress>9999999</maxConnectionsPerAddress>
</ipFilter>
<flashCrossdomainPolicy>
<useMasterSocketPolicy>true</useMasterSocketPolicy>
<policyXmlFile>crossdomain.xml</policyXmlFile>
</flashCrossdomainPolicy>
<systemControllerThreadPoolSize>12</systemControllerThreadPoolSize>
<extensionControllerThreadPoolSize>12</extensionControllerThreadPoolSize>
<systemControllerRequestQueueSize>35000</systemControllerRequestQueueSize>
<extensionControllerRequestQueueSize>35000</extensionControllerRequestQueueSize>
<schedulerThreadPoolSize>12</schedulerThreadPoolSize>
<protocolCompressionThreshold>1024</protocolCompressionThreshold>
<protocolMode>BINARY</protocolMode>
<remoteAdmin>
<administrators>
<adminUser>
</adminUser>
</administrators>
<allowedRemoteAddresses>
</allowedRemoteAddresses>
<adminTcpPort>9933</adminTcpPort>
</remoteAdmin>
<bannedUserManager>
<isAutoRemove>true</isAutoRemove>
<isPersistent>true</isPersistent>
<customPersistenceClass></customPersistenceClass>
</bannedUserManager>
<extensionRemoteDebug>true</extensionRemoteDebug>
<useFriendlyExceptions>false</useFriendlyExceptions>
<mailer>
<isActive>false</isActive>
<mailHost>test.mail.com</mailHost>
<mailUser>foo</mailUser>
<mailPass>pippo</mailPass>
<smtpPort>25</smtpPort>
<workerThreads>1</workerThreads>
</mailer>
<webServer>
<isActive>true</isActive>
<cfgFile>config/jetty/jetty.xml</cfgFile>
<blueBoxPollingTimeout>25</blueBoxPollingTimeout>
<blueBoxMsgQueueSize>20</blueBoxMsgQueueSize>
</webServer>
<startExtensionFileMonitor>true</startExtensionFileMonitor>
<useFriendlyLogging>true</useFriendlyLogging>
<useDebugMode>true</useDebugMode>
<sessionMaxIdleTime>20</sessionMaxIdleTime>
<userMaxIdleTime>300</userMaxIdleTime>
<licenseCode>**********************</licenseCode>
<licenseEmails>***************************</licenseEmails>
And some data from the server:
Quad Core Xeon X3440
8GB Memory
Thanks in advance for your help.