PDA

View Full Version : Forum e dietro le quinte: facciamo chiarezza


Paolo Corsini
03-04-2003, 15:04
Buongiorno a tutti;

ho chiuso le altre discussioni sul motore di ricerca in quanto vorrei con questa fare il punto preciso della situazione, cercare di spiegarvi che cosa è stato fatto in queste settimane e se possibile chiarire i dubbi che sono stati evidenziati in molti post.

Non annuncio da ora una data di apertura del motore di ricerca, ma stando alle previsioni di ricostruzione che abbiamo fatto questa mattina l'operazione dovrebbe essere conclusa per Lunedì mattina. Se ci sarà un ritardo credo sarà questione di qualche ora, massimo 1 giorno, e solo perché lo script di ricostruzione avrà impiegato più del previsto.

E' una discussione lunga: prendete un po' di pop corn e leggetevela con calma, cercando di non farvi venire mal di testa. A me è venuto a scriverla, quindi non preannuncio nulla di buono.


Una fotografia del forum

Il forum di discussione di Hardware Upgrade è on line da Luglio 1999; sono ormai quasi 4 anni. In questo periodo sono stati pubblicati oltre 4,7 milioni di messaggi, in poco più di 427.000 discussioni. Si tratta di un quantitativo di messaggi elevatissimo, che è impossibile tenere memorizzato con pressoché qualsiasi tipo di software per forum esistente in commercio.

Ovviamente, scrivendo un sistema custom pensato per gestire una mole di mesaggi così elevata il problema sarebbe evitabile. Ovviamente questo genera costi, sia di tempo che economici, che a mio avviso sono sia troppo elevati, sia inutili.
Per questo motivo, non solo su hwupgrade ma in qualsiasi forum che abbia raggiunto dimensioni elevate, si è sempre provveduto a cancellare parte delle discussioni vecchie quando il loro numero è diventato troppo elevato.

Il problema

Le discussioni e qualsiasi informazione pubblicata in un forum è memorizzata in un database, nel nostro caso MySQL. I post, i dati degli utenti e qualsiasi informazione è pertanto archiviata in tabelle del database, secondo la struttura utilizzata da ogni specifico software di funzionamento (phpbb, vbulletin o quello che volete).

Più dati sono inseriti, più grande sarà il database.
A parità di dimensioni del database, più utenti richiedono in uno specifico momento informazioni e più carico verrà generato sul server.
Al crescere del numero di informazioni memorizzate, più aumenta il numero di utenti contemporaneamente alla ricerca di dati e maggiore sarà il carico.

Facciamo un esempio che spero renda l'idea:

"Il database del forum è una libreria, i libri in essa contenuti sono i messaggi e gli utenti del forum sono persone che cercano un libro. Se il n° di libri aumenta ricercare nella libreria sarà più difficile. Se io sono un utente che deve cercare un libro e davanti a me ho una coda di altro 100 utenti in attesa, perderò più tempo.
Il carico complessivo sul database è dato da quanto tempo ci vuole, per ogni utente, a trovare il proprio libro. Maggiore è il n° di libri disponibili, e maggiore il n° di utenti in coda, più elevato sarà il tempo che mi ci vuole a finire la ricerca del mio libro e quindi maggiore sarà il carico."

Negli ultimi mesi ci siamo trovati a gestire un database sempre più grande, e con un numero di utenti contemporaneamente connessi sempre molto elevato. Lasciate perdere il record di n° massimo di utenti collegati: quello che crea problema al database è soprattutto un n° di utenti connesso contemporaneamente al database per un lasso di tempo lungo. Nel corso della giornata siamo molte ore oltre i 500 utenti contemporanei.

Il motore di ricerca è, nella struttura del database, l'elemento che più di tutti genera carico. Cerco di spiegare in modo molto semplice come questo funziona.

Ci sono 2 tabelle fondamentali
- phpbb_search_wordlist: elenco delle parole che possono essere oggetto di una ricerca;
- phpbb_search_wordmatch: corrispondenza tra le parole elencate nella tabella precedente e discussioni nelle quali queste parole sono presenti.

La prima tabella è discretamente grande ma comunque ha limiti; il termine "gatto", ad esempio, vi è compreso solo una volta. La seconda è mostruosamente grande.
La tabella dei messaggi, cioè quella che contiene tutti i post scritti, memorizza un messaggio per ogni riga della tabella. Con 2 milioni di messaggi, pertanto, quella tabella avrà 2 milioni di righe, che sono tante.

Di tutte le tabelle presenti nel database quella phpbb_search_wordmatch è in assoluto la più grande. Per rendere l'idea, nei giorni scorsi siamo arrivati a farle raggiungere il valore di 35 milioni di righe, indicizzando 1 milione di messaggi. Una tabella di questo tipo ha dimensioni così elevate che il database complessivamente non può essere caricato per intero nella memoria di sistema; di conseguenza letture e scritture vengono fatte sui dischi, che ovviamente hanno velocità pari a una frazione di quelle della memoria di sistema.
Il server, quindi, è carico e l'effetto finale è che gli utenti si lamentano
"il forum è lento, non va".
Mettere dischi più veloci e aumentare la memoria risolve solo in minima parte il rpbolema: il database comunque giorno dopo giorno continua a crescere.

Questo spiega perchè, nel momento in cui ci sono problemi di carico, la prima cosa che si fa è chiudere il motore di ricerca: quella tabella di dimensioni mostruose non viene più toccata, e il server "respira".

Lo status attuale

Per cercare di mantenere elevate le prestazioni velocistiche del forum, fornendo un servizio valido e allo stesso tempo non passando tutta la giornata a controllare il carico del forum, si è reso necessario raggiungere un compromesso. Evitare di avere troppi messaggi memorizzati e allo stesso tempo contenere il più possibile le dimensioni della tabella phpbb_search_wordmatch, ovviamente facendo in modo che le ricerche funzionino correttamente quindi forniscano risultati validi.

Nell'ultimo mese e mezzo abbiamo cercato di capire come poter arrivare a garantire questo risultato. Il primo passo da fare era chiudere il motore di ricerca, riaprendolo solo quando avremmo risolto tutto.

In questi 45 giorni abbiamo proceduto in questo modo:
- sfoltito il n° di messaggi memorizzati, passando da 2,1 milioni a circa 1 milione (valore attuale);
- smanettato parecchio dal lato server, ottimizzando mysql e scoprendo sul campo come poter gestire al meglio la configurazione del database. MySQL è un sistema molto interessante ma richiede anche molti test sui timings per arrivare a sfruttarlo al meglio.
- studiato il codice del motore di ricerca, cercando di fare in modo che la tabella di ricerca avesse dimensioni le più piccole possibili, non perdendo però significatività nei risultati ottenuti.

Abbiamo chiuso tutti questi punti e da 48 ore circa stiamo ricostruendo il motore di ricerca. Finita questa operazione, per l'ultima volta, il search verrà riaperto e potremo finalmente considerare chiuso questo lavoro.

Perché ci state mettendo così tanto tempo?

Semplice: perché non esiste un "how to" per ottimizzare database di forum di queste dimensioni. La risposta che tutti i programmatori di forum danno quando si dice loro che si hanno problemi di carico eccessivo è:
"potenzia il tuo hardware";
quando fai presente che quello che c'era da ottimizzare dal lato mysql è stato fatto, e che l'hardware è quanto di meglio puoi usare, la risposta è unica:
"cancella i messaggi, riduci la dimensione del tuo database".

Abbiamo seguito una strada molto più lunga, quella di sperimentare (non senza errori) e di capire come ottimizzare direttamente per mantenere un elevato numero di messaggi memorizzati, fornire una ricerca funzionante e valida e soprattutto far fronte alla futura crescita nel numero di utenti contemporaneamente connessi al forum.

Per arrivare a questo abbiamo dovuto lavorare parecchio, imparando molte cose nuove, sperimentando, sbagliando, tornando al punto di partenza dopo 2 settimane di lavoro perché ci si è accorti che quanto fatto nel frattempo non permetteva di risolvere la situazione.

Oltretutto, alcune delle operazioni richiedono molto tempo per poter essere completate. Giusto per citarne una, la ricostruzione del motore di ricerca con "soli" 500.000 messaggi richiede circa 48 ore di tempo macchina.

Di certo non ci abbiamo messo così tanto per puro spirito masochistico.


I post importanti che sono stati persi

Ci sono stati degli errori non voluti nella fase di cancellazione dei messaggi. Una volta che avremo finito di ripristinare il motore di ricerca cercheremo di ricuperare le discussioni più importanti che sono andate accidentalmente perse e le renderemo nuovamente disponibili.
Per cortesia non scriveteci ora quali sono, lo sappiamo e una volta finito con il search ci occuperemo anche di questa cosa.

Perché phpbb e non vbulletin?

Lo scorso mese di Novembre, dopo esserci resi conto che il forum stava crescendo troppo rapidamente e che il database aveva forti colli di bottiglia, abbiamo iniziato a valutare una soluzione alternativa a vbulletin. In quel periodo si era in attesa d'informazioni sulla versione 3 di vbulletin, nella speranza che venissero introdotte varie modifiche dal lato codice a noi utili per gestire carichi elevati.

Purtroppo abbiamo scoperto che vbulletin 3, che beninteso è ancora in fase di beta testing non pubblica in questo momento, non solo non avrebbe integrato le ottimizzazioni che speravamo di vedere, ma avrebbe probabilmente appesantito ulteriormente il carico sul database in quanto integra una gestione dei thread, dal lato grafico, che presumibilmente fa fare al sistema molte più queries al database. Parlo per supposizioni vedendo le beta di vbulletin 3, il codice non l'ho mai potuto vedere.

In particolare, il limite non arginabile di vbulletin è stato il supporto alle sole tabelle MyISAM di MySQL. Stante il numero di utenti contemporaneamente sul forum, il numero di messaggi e il quantitativo di richieste al secondo fatte al server database era per noi indispensabile passare alle tabelle Innodb, che ci avrebbero permesso di gestire nel modo migliore questa mole di carico.
Vado volutamente in modo molto sintetico, non mi sembra il caso di annoiare con spiegazioni tecniche anche perchè ci tengo a far capire che uno degli elementi base fosse la possibilità di utilizzare le tabelle innodb al posto di quelle MyISAM

Vbulletin non permetteva questo, mentre phpbb si. Abbiamo fatto alcuni test qui in redazione ad inizio Dicembre scoprendo che a parità di dati memorizzati e di utenti contemporaneamente sul forum, il carico generato da phpbb era sensibilmente inferiore a quello di vbulletin, grazie soprattutto all'utilizzo delle tabelle innodb (ma non solo quello).

Per questo motivo siamo pasati a phpbb, soluzione che dal punto di vista della fruibilità lato utente è peggiore di vbulletin (la prossima versione 2.2 dovrebbe migliorare di parecchio le cose) ma che ci ha permesso di risolvere molti problemi dal lato database.

Se e quando sarà disponinibile un software più efficace saremo ben contenti di provarlo e, se il caso, di adottarlo in produzione. Al momento attuale, pur con i tanti limiti, phpbb ci pare la soluzione che meglio di tutte fa fronte al traffico che generiamo.

Ora legale - solare

Mi quoto da un'altra discussione:
Originally posted by "Paolo Corsini"

Allora, stamattina abbiamo studiato un po' di elementi di phpbb. Il codice, per come è statos critto, fa sempre riferimento all'ora solare GMT (Greenwich Mean Time). Attualmente, essendo noi in italia econ ora legale, siamo a 2 ore in più rispetto all'orario GMT

Preso dalla documentazione di phpbb:

"phpBB 2.0.x does not in any way support daylight savings time. All times are based from GMT (Greenwich Mean Time) which is fixed throughout the year. "

Conclusione: se vi sloggate vedrete che l'ora riportata è quella corretta. Se restate loggati nel vostro profilo avete impostato come roario
GMT+1.

Cliccate qui:

http://forum.hwupgrade.it/profile.php?mode=editprofile

e andate a modificare il vostro profilo mettendo
GMT+2
e l'ora sarà a posto.

Ovviamente con questo gli orari dei server non c'entrano nulla: quelli si erano già sistemati da soli ieri.
Stiamo verificando se sia possibile, senza dannare troppo con il codice, modificare questa impostazione in modo differente

Ma perché non chiedete il mio aiuto? Sono bravo in...

Molti utenti si sono domandati perché non abbiamo chiesto aiuto a loro. Ci sono molti programmatori e professionisti che leggono queste pagine.

La risposta è semplice: nessuno di voi conosce questo software, o meglio l'ha mai usato con le condizioni di carico che abbiamo noi. In realtà credo che non ci sia in uso un forum "motorizzato" phpbb che abbia il nostro volume di traffico.
Oltretutto, nessuno da fuori ha accesso ai nostri server e quindi sa come questi rispondano al carico.

Perdonatemi l'esempio forse stupido, ma qualora fossi anche il più bravo pilota di automobili al mondo non potrei pretendere di sapere tutto sulla guida moticlistica, teoria e pratica. Magari sono una persona così brava da eccellere in entrambe le cose, ma non credo molto nelle eccezioni.
Detto in altro modo: se sei un bravissimo sys admin in ambiente Oracle magari t'invidio pure, ma non è detto che la tua conoscenza possa applicarsi alla gestione del database di un forum di discussione.

Con tanta sincerità, in queste settimane avrei preferito di gran lunga dare in mano questa "patata bollente" a qualcun altro, guadagnando così tempo e dedicandomi a tutt'altro. Non è stato fatto soprattutto perché non c'è nessuno che abbia questo tipo di competenza sul campo con le condizioni che ci troviamo ad affrontare.
Beninteso, non lo ero neppure io. Ora, dopo 1 mese di testa picchiata contro il muro, forse sono un po' meno ignorante di prima in questo campo.

alex10
03-04-2003, 15:39
Grazie per la spiegazione e grazie per esserti spaccato la testa per fornirci questo modo di parlare, discutere, incazzarci e divertirci assieme a tante persone.
Ciao e buon lavoro ;)

jumbo81
03-04-2003, 15:41

bella spiegazione
esauriente
deve comunque dare molte più soddisfazioni una soluzione di questo genere, nata dalle vostre idee e ragionamenti
che una soluzione "taglio 3 milioni di msg e ne tengo sempre 300 mila al massimo, così sono a posto"

a questo punto....

[/siz]

buon proseguimento!

pnx
03-04-2003, 15:43
Ci voleva proprio! :)

Complimenti. ;)

pinball
03-04-2003, 16:10
Già ora è tutto + chiaro il perchè il motore non vada da così tanto tempo... ;) :)

ciao e buon lavoro

PS: sei disponibilissimo :)

pinball
03-04-2003, 16:12
ma sbaglio o non è possibile modificare + i post? e' opera che mi crea casini o è prorpio così? :eek:

Paolo Corsini
03-04-2003, 16:17
Originally posted by "moly82"

ma sbaglio o non è possibile modificare + i post? e' opera che mi crea casini o è prorpio così? :eek:
Non su questo forum, ma per un parametro che aveo configurato male.
Da adesso si può, modificare ma non aprire

pnx
03-04-2003, 17:29
Originally posted by "Paolo Corsini"


Non su questo forum, ma per un parametro che aveo configurato male.
Da adesso si può, modificare ma non aprire

A me risulta ancora disabilitata la modifica dei post...

pnx
03-04-2003, 17:30
Originally posted by "pnx"



A me risulta ancora disabilitata la modifica dei post...

Come non detto, dopo il post è magicamente apparso il tastino. :)

allmaster
03-04-2003, 17:34
quindi i nuovi emoticons sono ispirati al problema del motore di ricerca....

:sofico: il database che cresce

:muro: il povero Paolo che ce la mette tutta

:mc: l'utente senza motore di ricerca

:pig: gli errori in generale.

Maestro
04-04-2003, 13:49
Lo so magari è inutile.. non ho mai avuto dBs di queste mostruoso dimensioni.. ma hai gia' provato invece di usare il search del phpBB di crearne uno semplice che faccia una query generica senza usare le 2 tabelle? Lo sta facendo il wm di un forum in cui sono mod con ottimo risultati = migliori risultati della ricerca, canc delle 2 tabelle del dB che occupavano metà spazio e più velocità anche durante l'invio dei posts che era lento per via delle creazione delle chiavi nelle tabelle..

Magari sono stato inutile ma la mia l'ho detta..

Ciao, fammi sapere ;)

sk8ne
04-04-2003, 14:38
ma come motore di ricerca provvisorio non è possibile utilizzare il servizio di google? Il sito di unitn.it lo usa e funziona decentemente... pittosto di essere senza....

ecco il link:

http://www.google.it/custom?domains=hwupgrade.it&sitesearch=hwupgrade.it

provate a vedere se e come funziona...

Paolo Corsini
04-04-2003, 14:39
Originally posted by "Maestro"

Lo so magari è inutile.. non ho mai avuto dBs di queste mostruoso dimensioni.. ma hai gia' provato invece di usare il search del phpBB di crearne uno semplice che faccia una query generica senza usare le 2 tabelle? Lo sta facendo il wm di un forum in cui sono mod con ottimo risultati = migliori risultati della ricerca, canc delle 2 tabelle del dB che occupavano metà spazio e più velocità anche durante l'invio dei posts che era lento per via delle creazione delle chiavi nelle tabelle..

Magari sono stato inutile ma la mia l'ho detta..

Ciao, fammi sapere ;)
Ciao,
a parte che scrivere codice e provarlo ci si metterebbe comunque più tempo, l'approccio di phpbb è buono in se e per se quindi non penso sia da ripensare, almeno per il momento.

I problemi nascono, ma nascerebbero comunque, quando hai una mole di post elevatissima e tanti termini che possono essere indicizzati.

Stamattina abbiamo finito la simulazione di ricostruzione qui in redazione, con un dump del database di circa 2 settimane fa e una mole di messaggi pari a quella che avrà il forum alla fine di tutto.
Le parole indicizzate, quindi ricercabili, sono poco meno di mezzo milione (escludendo ovviamente i termini con solo 2 lettere); il n° di risultati complessivi presenti nella tabella è di circa 8 milioni. Questo grazie al tweaking spinto che abbiamo fatto, viceversa sarebbero stati circa 36 milioni.

Ora, i milioni di risultati persi sono quelli non utili alla frubilità del motore di ricerca, quindi le ricerche che verranno effettuate saranno comunque corrette ed efficaci. Gestire una tabella di 8 milioni di record è comunque un bel macello, ma molto meglio di una da 36

Quincy_it
04-04-2003, 15:12
Innanzitutto grazie Paolo per la spiegazione esauriente che hai scritto (deve essere stata una faticaccia solo quella, figuriamoci tutto il discorso del Motore di Ricerca).
Visto che ormai dovremmo (sgrat sgrat :p ) essere in dirittura d'arrivo non resta che dire: In bocca al lupo! :)

sinadex
04-04-2003, 15:56
ok sei stato chiarissimo, solo vorrei conferma di una cosa: la tabella delle parole indicizzate è usata perchè è improponibile fare una search nel db principale (quella da 1 milione di post)?

Paolo Corsini
04-04-2003, 16:59
Originally posted by "sinadex"

ok sei stato chiarissimo, solo vorrei conferma di una cosa: la tabella delle parole indicizzate è usata perchè è improponibile fare una search nel db principale (quella da 1 milione di post)?

No, perché phpbb è fatto in questo modo. Fare delle ricerche full text in quelle tabelle sarebbe da pazzi in termini di carico

alexrena
04-04-2003, 17:42
quindi il metodo dell' ipb sarebbe fallimentare in un forum molto grande?

Paolo Corsini
04-04-2003, 18:01
Originally posted by "alexrena"

quindi il metodo dell' ipb sarebbe fallimentare in un forum molto grande?
Con le conoscenze che ho non te lo posso dire con certezza.
Certo è che la tabella post è già grandicella di suo e viene letta e scritta molte volte al secondo; far gravare su questa anche tutte le queries di ricerca vorrebbe dire farle fare kaput in pochi minuti.
Ovviamente con questo traffico; in soluzioni molto più leggere questo potrebbe portare anche a boost prestazionali.

Un po' come le persistent connections al database: con poco carico vanno benissimo, velocizzano ulteriormente. Ma con un carico che inizia a crescere, e quindi a valori molto più bassi di quello che abbiamo noi, generano un carico tremendo sui server e portano ad effetti auto attacco DOS che hanno conseguenze poco piacevoli, per chi deve amministrare.

axel70
04-04-2003, 18:38
grazie grazie e ancora grazie per tutto quello che fate per noi !

dopo tutto questo lavoro vorrei proporre paolo per la beatificazione :D :sofico:

FreeMan
04-04-2003, 18:53
Originally posted by "pnx"



A me risulta ancora disabilitata la modifica dei post...

anche a me

edit: apparso anche a me dopo il post.. :D

>bYeZ<

devis
04-04-2003, 19:40
Non mi arrivano più le mail di notifica. Capita anche a voi?

Favo
04-04-2003, 21:59
benissimo, grazie Paolo


P.S. mi permetto di dirti che il tuo precedente avatar era decisamente meglio, l'attuale mi mette angoscia !!!

pnx
05-04-2003, 11:31
Originally posted by "FreeMan"



anche a me

edit: apparso anche a me dopo il post.. :D

>bYeZ<

Ho capito,

il pulsante appare solo sui propri post...

allmaster
05-04-2003, 16:01
è sparito di nuvo il topic su Star Trek: Enterprise :mad:

http://forum.hwupgrade.it/viewtopic.php?p=4747612#4747612

è la seconda volta che lo cancellate :cry:

"Paolo che per caso sei Romulano" :D

Pazienza toccherà riaprirlo.

checo
05-04-2003, 17:13
dico la mia cazzata, non sapendo assolutamente come funziona il phpbb

da quello che ho capito è la tabella di search che se è troppo grande oltre a gravare sul carico della cpu arriva a non stare in memoria.

cazzata n° 1 aumentare la mamoria se l'architettura lo consente no?

cazzata n°2 ma meno della n°1

non si riesce a schedulare le ricerche su una sola cpu dedicata in modo tale che l'utilizzo del forum continua normalmente, in caso di rallentamenti sarà solo la ricerca a soffrire.

EDIT
mi rendo conto però che la tabella di ricrca deve essere modificata anche quando si scrive un post, quindi non è che migliori tanto la divisione dei task

in questo caso un dual opteron con memoria dediacta ad ogni cpu sarebbe una gran cosa.

Paolo Corsini
05-04-2003, 17:37
Originally posted by "checo"

dico la mia cazzata, non sapendo assolutamente come funziona il phpbb

da quello che ho capito è la tabella di search che se è troppo grande oltre a gravare sul carico della cpu arriva a non stare in memoria.

cazzata n° 1 aumentare la mamoria se l'architettura lo consente no?

cazzata n°2 ma meno della n°1

non si riesce a schedulare le ricerche su una sola cpu dedicata in modo tale che l'utilizzo del forum continua normalmente, in caso di rallentamenti sarà solo la ricerca a soffrire.

EDIT
mi rendo conto però che la tabella di ricrca deve essere modificata anche quando si scrive un post, quindi non è che migliori tanto la divisione dei task

in questo caso un dual opteron con memoria dediacta ad ogni cpu sarebbe una gran cosa.

Ciao,

grandi cazzate, così stai tranquillo, non ne hai scritte ;)
Il vero collo di bottiglia, per questo genere di applicazioni, non è tanto il processore quanto il sistema storage, memoria di sistema e dichi.
Dici bene: più memoria c'è meglio è. Ovviamente se si ha un database grande tot gbytes e questo valore è superiore alla dotazione di memoria di sistema, si creano rallentamenti in quanto gli accessi al disco aumentano vertiginosamente.

Quello che usiamo adesso per il server database del forum, un Dual Athlon MP, permette di utilizzare sino a 3,5 Gbytes di memoria.

Il vantaggio di Opteron sarebbe quello di avere indirizzabilità a 64bit, quindi puoi montare più di 4 Gbytes di memoria senza problemi.
Quella piattaforma, IMHO, sarà una vera toccasana per server database multiprocessore che richiedono potenza di calcolo e molta memoria

In merito alla costruzione e all'aggiornamento del motore di ricerca, la cosa migliore sarebbe avere un server dedicato per la sola ricerca.
Ci avevamo pensato, ma oltre all'hardware supplementare bisogna pure riscriversi tutto il codice. Troppo incasinato, abbiamo abbandonato poco dopo.

edivad82
05-04-2003, 18:05
Originally posted by "Paolo Corsini"




Dici bene: più memoria c'è meglio è. Ovviamente se si ha un database grande tot gbytes e questo valore è superiore alla dotazione di memoria di sistema, si creano rallentamenti in quanto gli accessi al disco aumentano vertiginosamente.


e da qui nasce il perchè alleggerire il db da discussioni vecchie e il perchè filtrare le parole da indicizzare nel motore di ricerca... :)

allmaster
05-04-2003, 18:11
la mia discussione non era vecchia :rolleyes:

FreeMan
05-04-2003, 18:38
Originally posted by "Paolo Corsini"

I post importanti che sono stati persi

Ci sono stati degli errori non voluti nella fase di cancellazione dei messaggi. Una volta che avremo finito di ripristinare il motore di ricerca cercheremo di ricuperare le discussioni più importanti che sono andate accidentalmente perse e le renderemo nuovamente disponibili.
Per cortesia non scriveteci ora quali sono, lo sappiamo e una volta finito con il search ci occuperemo anche di questa cosa.

>bYeZ<

allmaster
05-04-2003, 20:50
si questo lo sapevo, ho letto con molta attenzione il post di Paolo, ma la frase dice "Ci sono stati degli errori" al passato, infatti è del 03-04-2003 alle 15:04 mentre questa cancellazione è di oggi infatti mi è arrivata la notifica di risposta in data 5/4/2003.
Aspettiamo tutti lunedì, io con la speranza di poter cambiare la mia signature. ;)
Una domanda

Quando rimetterete i post sarà inviata una notifica via mail ai partecipanti?

amd-novello
06-04-2003, 02:07
ma praticamente voi avreste collaudato un nuovo tipo di approcio per database giganti? :eek: :eek:

Paolo Corsini
06-04-2003, 07:35
Originally posted by "amd-novello"

ma praticamente voi avreste collaudato un nuovo tipo di approcio per database giganti? :eek: :eek:
Non proprio; casomai abbiamo crediamo per la prima volta approcciato con dettaglio il prolema di usare phpbb con database molto grandi.
E per far questo non abbiamo ovviamente usato l'approccio standard di phpbb, ma introdotto un po' di modifiche da noi direttamente sperimentate.

newuser
06-04-2003, 07:57
Sono sicuro che ci avrai già pensato e ripensato (se non implementato)... magari è un'assurdità, ma mi permetto di dirtelo lo stesso.

Oltre alla black-list attuale dei termini, e' probabile che a un certo punto sarai costretto a evitare l'inserimento di altre parole nella word_list, evitando la crescita esponenziale di word_match e aumentando così anche il numero di post gestibili in modo efficiente. Non sarebbe necessario buttare il lavoro di inserimento svolto dal motore del forum per i termini nuovi, potrebbe bastare loggare i nuovi record in tabelle temporanee da aggiungere poi giornalmente ad altre due tabelle non pubbliche off-line. Se un termine dovesse risultare utile lo si potrebbe inserire solo spostando il suo record e quelli collegati. Purtroppo sarebbe un sistema ammininistrato e il tempo è tiranno.

Paolo Corsini
06-04-2003, 08:34
Originally posted by "newuser"

Sono sicuro che ci avrai già pensato e ripensato (se non implementato)... magari è un'assurdità, ma mi permetto di dirtelo lo stesso.

Oltre alla black-list attuale dei termini, e' probabile che a un certo punto sarai costretto a evitare l'inserimento di altre parole nella word_list, evitando la crescita esponenziale di word_match e aumentando così anche il numero di post gestibili in modo efficiente. Non sarebbe necessario buttare il lavoro di inserimento svolto dal motore del forum per i termini nuovi, potrebbe bastare loggare i nuovi record in tabelle temporanee da aggiungere poi giornalmente ad altre due tabelle non pubbliche off-line. Se un termine dovesse risultare utile lo si potrebbe inserire solo spostando il suo record e quelli collegati. Purtroppo sarebbe un sistema ammininistrato e il tempo è tiranno.

Non è un problema; abbiamo un veloce tool che rimuove eventuali termini nella word_list, ovviamente facendo la stessa cosa con i post corrispondenti.
E' piuttosto rapido nell'esecuzione anche con forum aperto; l'ho eseguito circa 25 minuti fa anche stamattina.

Comunque, ottimizzando la back-list dei termini è vero che si riduce la dimensione della tabella phpbb_search_wordmatch, comunque quella cresce in ogni modo e pure in modo consistente. Certo che studiandosi un po' la composizione della tabella phpbb_search_wordlist, quella nella quale vengono memorizzati i termini di ricerca, si scoprono termini indicizzati moltissime volte che sono inutili.

SaMu
06-04-2003, 10:03
Beh guardala dal lato positivo Paolo, tutta l'esperienza che avete fatto sulla configurazione di forums potrebbe venirvi utile in futuro.

E' probabile che le grandi corporations di doteranno tutte (molte già lo hanno) di un sistema interno di forums accessibili a vari livelli, e con centinaia di migliaia di dipendenti il carico sarà decisamente sostenuto.

Un domani potrebbe venire da te un Tronchetti Provera a supplicare "Paolo mi puoi aiutare ti prego, il nostro forum va a singhiozzo!" :D

amd-novello
06-04-2003, 10:57
quello che ho pensato io. :D

potreste chiamarlo PaCors bullettin

JamesWT
06-04-2003, 20:35
Originally posted by "SaMu"

Un domani potrebbe venire da te un Tronchetti Provera a supplicare "Paolo mi puoi aiutare ti prego, il nostro forum va a singhiozzo!" :D

peccato che Paolo non sia il tipo da dire "si ok vengo"

Qnick
06-04-2003, 22:05
Originally posted by "JamesWT"



peccato che Paolo non sia il tipo da dire "si ok vengo"

Mai dire mai ;) :D

A parte gli scherzi, ancora grazie per il lavoro svolto (e la pazienza!) a tutto lo staff...volevo dire una cosa, anche se ritengo ci avrete già pensato:

Una volta che il motore di ricerca sarà ripristinato e tornerà a funzionare, sarebbe utile che si informasse tutti sul meccanismo che viene adottato dallo script per cancellare i post vecchi (inteso come quelli che no ricevono più risposte da un tot di tempo)...ovvero si chiarisca dopo quanto tempo, in quali casi ed in quali sezioni un messaggio viene eliminato.

Ad esempio, 15gg mercatino ed off-topic, 90gg per il resto delle sez. tecniche mi pare, se non erro.

Sarebbe interessante prevedere, come qualcuno ha già proposto, se tecnicamente fosse possibile, che alcuni dei thread "storici" più importanti ed utili nelle varie sez. tecniche rimangano in vita a prescindere dal tempo, magari entrando a far parte di una faq o cmq diventando un oggetto "intoccabile" dallo script.I moderatori avrebbero in questo caso il compito di segnalare/mettere in rilievo i threads di interesse generale, come ora avviene, e modificarli poi a questo scopo.

Bene, detto questo nn vedo l'ora che ritorni tutto a norma!


Saluti

Qnick

jumbo81
07-04-2003, 10:02
[/siz]
FUNZIONA ALLA PERFEZIONE!!
è velocissimo il motore
complimenti per il lavoro
finalmente!!!
ciauzzzz
jarno

L4OA
07-04-2003, 16:43
Grazie del lavoro effettuato
Attendo la conferma sul ripristino di alcuni post scomparsi.. ovvero
se dalla egosearch non trovo alcuni miei post
devo supporre che sono scomparsi??
ce ne era uno a cui tenevo molto
era in OT e molto personale del periodo dicembre/gennaio
altri + vecchi compaiono
non voglio "rompere le scatole" ma potreste spiegare come
e sopratutto se ci sono possibilità di recupero??
inoltre da quando funziona il motore non ricevo + le notifiche
dei pvt e dei messaggi

saluti a tutto lo staff

Paolo Corsini
07-04-2003, 17:14
Originally posted by "L4OA"

Grazie del lavoro effettuato
Attendo la conferma sul ripristino di alcuni post scomparsi.. ovvero
se dalla egosearch non trovo alcuni miei post
devo supporre che sono scomparsi??
ce ne era uno a cui tenevo molto
era in OT e molto personale del periodo dicembre/gennaio
altri + vecchi compaiono
non voglio "rompere le scatole" ma potreste spiegare come
e sopratutto se ci sono possibilità di recupero??
inoltre da quando funziona il motore non ricevo + le notifiche
dei pvt e dei messaggi

saluti a tutto lo staff
Ciao,

ci sono alcuni post tecnici con molti contenuti che sono stati persi. Stiamo lavorando qui in redazione per ripristinarli, e se possibile quelli e solo quelli verranno ripresi.

Per gli altri spiacente ma non c'è niente da fare: abbiamo sfoltito il forum per necessità.

L4OA
07-04-2003, 17:27
Capisco...
ma la cosa mi fa molto dispiacere
+ di quello che sembri...

Paolo Corsini
07-04-2003, 17:45
Originally posted by "L4OA"

Capisco...
ma la cosa mi fa molto dispiacere
+ di quello che sembri...
Assolutamente, capisco chiaramente. Per me la cosa è ancor meno "divertente", perché sono sostanzialmente costretto a cancellare messaggi che per alcuni utenti so possono essere molto importanti.
Mi trovo però a fronteggiare un problema tecnico, e se voglio garantire un buon servizio a tutti devo scendere anche a questi compromessi.

brain
14-04-2003, 12:39
Originally posted by "Paolo Corsini"


Ora legale - solare


Io vi avrei consigliato un:
UPDATE phpbb_users SET user_timezone=user_timezone+1 WHERE 1=1;

oppure tagliate le testa al toro:
UPDATE phpbb_users SET user_timezone=2 WHERE 1=1;

edivad82
14-04-2003, 13:43
Originally posted by "brain"



Io vi avrei consigliato un:
UPDATE phpbb_users SET user_timezone=user_timezone+1 WHERE 1=1;

oppure tagliate le testa al toro:
UPDATE phpbb_users SET user_timezone=2 WHERE 1=1;

sarebbe una soluzione ma non vantaggiosa nel nostro caso...
ci sono molti utenti che non postano dall'Italia e più specificamente da una zona diversa da GMT +1.

I problemi non sono tanto nel passare da GMT +1 a GMT +2 ma viceversa, quando si ritornerà all'ora solare poichè si ritroverebbero a GMT +1 anche coloro che erano giustamente a GMT +2

e cmq non ci vuole molto a mettere a gmt +2 il proprio profilo ;)

amd-novello
14-04-2003, 18:37
effettivamente :D :D

albaro
05-05-2003, 00:25
Perchè non dotare il forum di una chat con le varie stanze, per il mercatino ad esempio chi vende apre una stanza e le contrattazioni avverrebbero in un decimo del tempo impiegato dai messaggi, ho visto poco fà che per una scheda video la vendita va avanti da 4 pagine ,più di mille volte è stato letto l'annuncio e non ricordo il numero di interventi e risposte, anche per dare e ricevere aiuto sarebbe molto più facile capirsi e correggersi. Se ho detto una "bischerata"quanto è grossa? :sofico:

pnx
05-05-2003, 07:54
Originally posted by "albaro"

Perchè non dotare il forum di una chat con le varie stanze, per il mercatino ad esempio chi vende apre una stanza e le contrattazioni avverrebbero in un decimo del tempo impiegato dai messaggi, ho visto poco fà che per una scheda video la vendita va avanti da 4 pagine ,più di mille volte è stato letto l'annuncio e non ricordo il numero di interventi e risposte, anche per dare e ricevere aiuto sarebbe molto più facile capirsi e correggersi. Se ho detto una "bischerata"quanto è grossa? :sofico:

Si può usare ICQ... :)

albaro
07-05-2003, 06:50
però ho notato che la maggior parte è basata su sberleffi ,come stai e legittima ricerca di compagnia femminile, non conosco ICQ , vorrei sapere se è attiva una chat dove si parla di hardware ed è possibile chiedere aiuto "in diretta" mentre si sta operando a PC aperto.

FreeMan
09-05-2003, 01:00
ICQ ha sia la chat che l'istant messaging

>bYeZ<