Configurazione di Smartfoxserver, errori e problemi.
|
|
by admin
Condividi su Facebook:
- Leave a comment »
Nello sviluppo di applicazioni complesse e giochi online utilizzando la piattaforma smartfox abbiamo potuto constatare alcune criticità fuori portata di qualsiasi sviluppatore. In particolare ci siamo resi conto che malgrado l'ottima documentazione che viene con il prodotto, e le estreme performance del game server più potente al mondo oggi, tutta una serie di importanti considerazioni sul settaggio della macchina server di gioco, vengono meno e non sono in alcun modo rese pubbliche ai programmatori che si accingono a mandare in produzione gli anni di lavoro spesi su questa piattaforma.
In particolare consigliamo vivamente, appena il traffico supera il centinaio di utenti connessi, di analizzare i seguenti parametri o meglio, i seguenti errori che causeranno un blocco totale della vostra applicazione operativa:
- MySql: too many connections.
- Linux server: too many open files.
MySql, nell'installazione dei software e del sistema operativo del gameserver ha un settaggio di default a 100 connessioni in contemporanea (che sono quindi 101 perché una è l'accesso onnipresente in status Root per entrare nell'amministrazione di MySql anche in caso di saturazione totale delle connessioni al db e al software di gestione del database. Si consiglia di portare il limite delle massime connessioni (parametro settabile da mysql) a 1000.
Questo non significa che il blocco avviene con 100 utenti connessi se il limite è 100 max connections. Noi abbiamo vissuto il primo blocco che ci ha fatto scoprire il limite, con 1400 utenti connessi simultaneamente, perché l'applicazione sviluppata su Smartfoxserver ha abbastanza query al database da superare le 100 contemporanee con circa 1400 utenti connessi; quindi qualora sviluppaste un'applicazione server che effettua molte più query della nostra, raggiungerete questo limite prima dei 1400 utenti connessi.
Il secondo errore è quello che ci ha fatto penare di più. Abbiamo scoperto che ogni socket aperta dalla comunicazione client-server del software Smartfoxserver apre su Linux 3 files, che vengono regolarmente richiusi quando la connessione della socket termina (con la disconnessione dell'utente per intenderci).
Questo limite va assolutamente portato a 50.000 su Linux altrimenti si rischia il blocco dell'applicazione Java (da noi vissuto a 800 utenti connessi in contemporanea).
Consigliamo quindi di cercare e ampliare tutti i limiti fisici e logici di configurazione del sistema operativo prima di dover vivere estenuanti momenti di criticità alla ricerca del problema.
Che l'esperienza da noi maturata e che oggi ci porta ad avere un'applicazione decisamente stabile possa esservi di aiuto nello sviluppo del vostro mondo multiplayer di giochi online.
|
|
