Salve a tutti,
più che un aiuto avrei bisogno di un consiglio!

Ho pensato ad una soluzione per monitorare il controllo delle disconnessioni ma mi lascia alcuni dubbi. Ipotizziamo che nel db abbia la tabella UtentiConnessi con il campo UltimaRisposta. A questo punto ogni utente che si logga crea la sessione e viene inserito in questa tabella, fintanto che la sessione è integra con un setInterval di JS l'utente sovrascrive ogni 100 secondi (mediante AJAX) il suo campo UltimaRisposta inserendo l'ora attuale. Quando l'utente distruggerà la sessione smetterà automaticamente di inviare il "ping" al db. In questo modo nelle query che selezionano o contano gli utenti connessi dalla tabella UtentiConnessi basterà inserire un condizione WHERE (Ora - UltimaRisposta) > 100 per capire con un buon margine di tempo chi è ancora connesso ... ovviamente la tabella UtentiConnessi sarà ciclicamente ripulita: basterà eliminare tutti gli utenti con span maggiore a 100 ogni 1/2 ore ed il gioco è fatto!

Francamente mi confesso ignorante a livello di carico di server ma un meccanismo del genere presuppone 36 query all'ora... moltiplicate per un utenza media che può andare dai 500 ai 2000 utenti risulta che il solo sistema che aggiorna la lista utenti può arrivare a bruciare più di 70000 query all'ora!

Quanto ne vale la pena? Potreste darmi un canone di misura? Chessò un buon server da 200 euro all'anno quante query supporta mediamente all'ora?

Posso capire che sarebbero numeri molto approssimativi ma trovandomi nel buio più totale sarebbero comunque un punto di partenza, accetto qualsiasi dritta