1. QUERY CON WHERE INVECE CHE CON IF
nel primo LOOP la query non è completa

tu carichi TUTTO il recordset ma poi fai un IF che esclude molte cose

usa una query come

sql="Select * from Iscritti WHERE status_connected = 1"

e elimina il primo IF

2. POPOLA I RECORDSET SOLO DI QUELLO CEH TI SERVE
non fare un SELECT * (select all) ma seleziona SOLO i campi che ti servono

quindi (se non erro) nella prima query

sql="Select Status_Connect, Date_now, ID from Iscritti WHERE status_connected = 1"

---

questa prima parte già alleggerisce NON poco il carico

3. AGGIORNAMENTO
non so come hai impostato il codice precedente, ma noto che esegui aggiornamenti direttamente sul recordset

personalmente ti consiglierei di eseguirli a parte con istruzioni sql UPDATE e poi conn.execute "UPDATE..."

4. METODI
noto che per segnare se un'utente è online utilizzi un campo nel database, e poi "obblighi" tutti gli utenti ad "aggiornarlo" controllando tutti gli utenti

non sarebbe più "giusto" utilizzare questo metodo

a. utenti si connette > imposti STATUS_CONNECTED = TRUE e DATE NOW
b. utente aggiorna pagina > imposti DATE NOW = NOW()

c. utenti legge lista utenti connessi >
fai una query di tutti gli utenti con SESSION_CONNECT = TRUE e controlli la differenza dei 240 secondi (che è il timeout che hai scelto).
se qualcuno è fuori timeout, aggiorni il database, altrimenti lasci stare

in questa maniera non vengono controllati TUTTI gli utenti, ma SOLO gli utenti che hanno STATUS_CONNECTED = TRUE, e il db viene modificato SOLO per quelli che hanno un timeout superato

meno peso per l'utenza, meno peso per il server

5. QUERY MESSAGGI
qui non mi è proprio chiaro il meccanismo
fattosta che cmq ad OGNI pagina tu fai controllare TUTTI i messaggi e visualizzi un link SOLO se il tempo passato è < di 25 secondi...

se mi spieghi il concetto di questa cosa sarò lieto di esprimerti un mio parere

---

ognuno dei 4 "consigli" precedenti nasce dall'esperienza sul campo.
su qualsisasi dei primi 4 punti se non ti sono chiari sarò lieto di essere più chiaro, e se non sei d'accordo sarei contento di discuterne...

se ho capito male qualche punto dello script spiegamelo

ciao