Txt o Db ? postato il 19/12/2008 00:33:42 nel forum programmazione, gdrcd, open source, hosting
Supponiamo che ho un file di testo e che in questo file ci elenco, per ogni riga, un nick fino ad ottenere un dato elenco.
Questo elenco viene caricato in una pagina e fatto refreshare ogni 10 secondi all'utenza (supponiamo una media di 70 pg presenti in quel momento)
Considerando che al login di qualcuno quell'elenco viene aggiornato inserendo il nick di questo qualcuno e cancellando quello più vecchio (per mantenere sempre lo stesso numero di nick visualizzati), secondo voi è più leggero a carico del server usare questo metodo anzichè db-tabella-query ?
Pagine → 1 2
19/12/2008 00:44:41
Questo txt come lo popoli?
E' una cosa statica (tipo xml scritto a mano)?
19/12/2008 00:46:18 e modificato da blancks il 19/12/2008 00:46:36
Tramite php, in automatico, al login
19/12/2008 00:50:39
Eh, dipende dalla mole di dati allora.
Diciamo che sui conti che hai fatto tu (70 righe di xml) forse è anche più conveniente perchè il database viene solitamente "stressato" continuativamente da qualunque sistema lato server, quindi gli leveresti un pò di carico.
Accedere al filesystem è di base (dati i server di oggi) sicuramente meno grave e stressante che accedere al processore del db, però dipende da che macchina hai sotto, da quanto è grosso il file xml in questione.
Forse ti conviene fare delle prove.
Fai ottenere l'equivalenza di dati dal db e dall'xml da due pagine diverse.
Fai un loop che chieda 100 volte di fila informazioni al db e all'xml e fatti stampare in quanto tempo ti crea la pagina.
non è un sistema affidabilissimo, però così su due piedi non mi viene in mente molto altro
19/12/2008 01:14:43
Non ci sono 70 righe ma soltanto 10.
La riga nel file di testo è impostata così id|nick|sesso| etc etc
via php esplodo la riga e printo le informazioni (non si tratta di un file xml).
Ogni qualvolta un utente effettua login/logout il suo nick viene appuntato in questo elenco e l'11esima riga creatasi con il record più vecchio viene eliminata.
Ora, avevo pensato a questo sistema sperando che fosse più rilassante per il server al pari dell'uso del database con tabella e richiesta query sotto una sollecitazione causata dal refresh ogni 10 secondi di 70 utenti connessi e un 1 utente al minuto che esce/entra.
Quindi facendo due calcoli con i dati medi che ho esposto, ho 70 interazioni di lettura ogni 10 secondi, e cioè circa 7 al secondo, più una scrittura su questo file ogni 60 secondi circa.
Abbiamo circa 7 fopen()+fread()+fclose()+explode() al secondo, contro 7 mysql_connect()+mysql_query()+mysql_fetch_array() quindi. (un vantaggio nell'usare il file di testo è che in quella pagina posso anche non richiamare la connessione al database visto che non mi serve per nulla)
Ora, è più conveniente usare questo metodo esposto (per aggiornare questo elenco di soli 10 record) oppure è più leggero adoperare una tabella su database (e relative query di select) ?
19/12/2008 21:10:26
Potresti utilizzare questo file unicamente come cache dei date contenuti nel database.
Creando uno script che periodicamente legge gli utenti loggati nel sistema e riscrive il file.
In questo modo minimizzeresti l'utilizzo del database.
20/12/2008 00:45:31 e modificato da blancks il 20/12/2008 00:47:38
Grazie dei consigli joshi, lockare il file purtroppo comporta che al momento della lettura quell'elenco svanisce agli occhi di tutti, inoltre per pura casualità, potrebbero entrare in contemporanea 2 utenti e quindi avviare insieme l'azione di scrittura del file (e non m'immagino neanche li cosa possa succedere)
Usare il caching non credo sia la soluzione giusta vista la logica di aggiornamento e di visualizzazione di questi dati.
Quindi credo che andrò di database, ovviamente facendo le cose nel modo più pulito possibile così da non sprecare risorse inutilmente (aumenterò il tempo di refresh di 5 sec, portandolo così a 15 secondi) e credo che lascerò i txt come mezzo su cui archivio i backup dei log registrati su database prima di svuotarli dalle rispettive tabelle.
21/12/2008 12:18:50
21/12/2008 12:26:34
21/12/2008 13:28:38
Ciò però rende le prestazioni dello script dipendenti dal servizio hosting e personalmente per abitudine tendo a fidarmi poco di funzionalità che possono decadere con il cambio o variazione di tale servizio per quanto possano essere comode o integrate, senza contare che in fin dei conti servirebbe solamente per creare una lista che venga aggiornata di continuo.
21/12/2008 15:27:00
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Hero Wars: Artefatti dei Titani!
bother ha recensito Never Have I Ever: Mysteries of Laconia Bay
Games of Thrones Winter is Coming: #giveaways codice regalo! 🥳
Enlisted: Migliorare e ottimizzare le ombre
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
NHIE - Intervista alla gestrice di Never Have I Ever: Mysteries of Laconia Bay
Hic Sunt Leones - Intervista ai gestori di Hic Sunt Leones, gioco di ruolo storico play by Forum!
Histats - Scopri il sistema di statistiche web per il tuo gioco! Histats è gratuito!
Creare un Background - Consigli ed alcune "linee guida" per creare un background credibile ed avvincente!
Wings of Memories - Intervista allo staff del GdR ambientato nel mondo di Final Fantasy: Wings of Memories - FFIX
Endlos Realm - Intervita all'amministratore del Play by Forum fantasy Endlos Realm