BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Segnalazione Bug e consigli (https://www.baronerosso.it/forum/segnalazione-bug-e-consigli/)
-   -   La minchionata dei 30 secondi. (https://www.baronerosso.it/forum/segnalazione-bug-e-consigli/210694-la-minchionata-dei-30-secondi.html)

ddrake 01 maggio 11 17:03

Citazione:

Originalmente inviato da staudacher300 (Messaggio 2566232)
Se hai Windows prova a cercare qualcosa col tasto "cerca" del menù start, e poi prova ad usare contemporaneamente un programma, noterai un certo rallentamento ( in realta' si sbraca proprio" moltiplicalo per gli utenti che usano la ricerca di un forum e vedrai che ci vuole un bel gnocco per soddisfare tutti in tempi accettabili.:wacko:

che c'entra??
parliamo di ricerche fatte su un db (immagino mysql o postgresql) mica delle inefficenze di winzozz :)

Ripeto, potreste vedere i carichi con tempi di attesa di 10 secondi. Se notate una differenza significativa allora verosimilmente c'è un problema nella progettazione del db.

Ciao!

P.S. Ho fatto per lavoro sviluppo di strumenti di testing server side su datawarehouse, qualcosa ne so.

tochiro 01 maggio 11 17:48

Citazione:

Originalmente inviato da ddrake (Messaggio 2566231)
Ma per gli utenti registrati non vedo proprio come potrebbero sovraccaricare il server. Dubito che le cpu siano stressate dalle ricerche su un db. La ricerca è fatta server side, non consuma banda che è invece la risorsa maggiormente costosa per un servizio hosting. E' quindi più oneroso che gli utenti sfoglino un thread alla ricerca delle informazioni anziché fare alcune ricerche.

Avete provato a vedere i carichi con attese di 10 secondi?

Ciao!

Concordo su tutto. Una via di mezzo di 10 secondi sarebbe un giusto compromesso.
O forse sfogliare tutte le pagine di un thread porta più click e quindi più banner visualizzati. Magari è una politica commerciale sensata, basta saperlo perché in altro modo quei 30 secondi non me li spiego.
Naturalmente tutto imho.

vrpol 01 maggio 11 18:41

Io di ste' sobe capisco poco....:unsure:
Posso però quotare pienamente Fai
:en_fureur:en_fureur:en_fureur:notouch:

staudacher300 03 maggio 11 21:24

Citazione:

Originalmente inviato da ddrake (Messaggio 2566239)
che c'entra??
parliamo di ricerche fatte su un db (immagino mysql o postgresql) mica delle inefficenze di winzozz :)

Ripeto, potreste vedere i carichi con tempi di attesa di 10 secondi. Se notate una differenza significativa allora verosimilmente c'è un problema nella progettazione del db.

Ciao!

P.S. Ho fatto per lavoro sviluppo di strumenti di testing server side su datawarehouse, qualcosa ne so.

Beh era un esempio pratico per dire che quando uno cerca qualcosa la macchina deve farlo e quindi qualcosa succede ed anche se é relativamente poca roba va moltiplicata per il numero di ricerche che vengon fatte in ogni momento, e poi che ne so chi ho davanti a livello infromatico, cerco di farmi capire per quel poco che capisco anche io a livello di programmazione.:P

blinking 03 maggio 11 21:33

se fosse tecnicamente possibile, mi piacerebbe che venisse tolto il limite anche solo per le ricerche che danno ZERO risultati.

staudacher300 03 maggio 11 21:38

Citazione:

Originalmente inviato da blinking (Messaggio 2570462)
se fosse tecnicamente possibile, mi piacerebbe che venisse tolto il limite anche solo per le ricerche che danno ZERO risultati.

Sinceramente non lo so, mi pare di ricordare che ci fosse un qualche problema a monte col vbulletina, provo a sentire il boss, magari sbaglio o ppure adesso si può risolvere, ma penso l'avrebbe fatto, non é che abbia piacere a non andare incontro alle esigenze della gente.
O forse no, sentiamo lui.

Ps: sempre che riesca a beccare in tempi umani la primularossa, altro che baronerosso. :D

ddrake 03 maggio 11 22:42

Citazione:

Originalmente inviato da staudacher300 (Messaggio 2570439)
Beh era un esempio pratico per dire che quando uno cerca qualcosa la macchina deve farlo e quindi qualcosa succede ed anche se é relativamente poca roba va moltiplicata per il numero di ricerche che vengon fatte in ogni momento, e poi che ne so chi ho davanti a livello infromatico, cerco di farmi capire per quel poco che capisco anche io a livello di programmazione.:P

Chiaro, però davvero qualche ricerca su un forum non può creare problemi ad un server come si deve. Immagino, dato il traffico, che baronerosso risieda su server dedicato/i quindi non ci sono problemi di risorse destinate a terzi.

Supponiamo che il numero totale di ricerche nel forum per unità di tempo attualmente sia = 100 e supponiamo che i tempi correnti siano accettabili.
Di questi X sono fatti da utenti non registrati. 100-X sono fatti da utenti registrati.
Le ricerche vengono ripetute in meno di 30 secondi soprattutto in caso di errori di battitura, ripensamenti sui criteri di ricerca ecc.
Abbassando a 10 sec il limite aumenterebbero le ricerche solo per questi casi di errori vari.
Quanto sarebbe l'aumento effetivo del numero di ricerche? non so ma non penso sarebbe molto elevato.
Poi chiaramente potrebbe esserci anche l'utente registrato con più nick che lancia un attacco con Selenium per intasare i server, tutto può essere. Ma con tempi di attesa da 10 secondi dubito riesca a intasare alcunché.

Data la mancanza di un'indicizzazione la ricerca per stringhe è in genere lunga ma se le risorse lo consentono il db moltiplica i processi di ricerca. Il problema in genere non è il tempo di calcolo o la memoria quanto il collo di bottiglia degli accessi al disco.
Per ottimizzare le risorse un db utilizza metodi intelligenti di caching in memoria dei record aperti più spesso. Tipicamente i record più recenti avranno maggior probabilità di essere in memoria (fisica o swap su disco dedicato). I risultati vengono inoltre presentati mentre i thread sono ancora in esecuzione (per fortuna :rolleyes:).

E' utile invece mantenere un limite per utenti non registrati per evitare congestionamenti da parte di bot.

Ciao!

BaroneRosso 06 maggio 11 14:53

Allora ho abbassato il time out a 10 secondi vediamo come va, un paio di anni fa ci avevamo provato e non era andato proprio bene.

Riguardo il perche' e' stato messo a 30 secondi e' semplicemente un settaggio di default del forum ed e' dovuto all'enorme consumo di risorse che fa il MySql con le ricerche.
Il Mysql non e' proprio il massimo con il suo algoritmo di ricerca ed anche ottimizzando le risorse a salire delle dimensioni del DB cresce esponenzialmente il carico sul sistema (sia di CPU che di Ram), non e' una cosa che si e' inventata il sottoscritto ma un dato di fatto basta andare sul sito del VBulletin e dare una letta alla sezione forum di grosse dimensioni.
Considerate poi che la ricerca viene effettuata su un DB di oltre 4 milioni di record, mentre la tabella principale che contiene tutti i post, dove di solito e' effettuata principalmente la ricerca, e' grande circa 2.5GiB, quindi non sono proprio 4 campi da cercare. I forum piu' grandi, vedi ad esempio HWupgrade, hanno server appositi con un duplicato del DB dedicati esclusivamente alle funzioni di ricerca proprio per evitare sovraccarichi sulle macchine principali.

L'ottimizzazione si puo' certamente fare, ma per tutto c'e' un limite di risorse HW, ovviamente si possono acquistare macchine sempre piu' grosse (ed infatti e' quello che generalmente si fa) ma visto che non e' che i server non e' che li regalino dentro le uova di Pasqua si cerca di rimanere nei limiti delle proprie possibilita'
Tanto per la cronaca BaroneRosso.it gira su ben 2 server e la scorsa settimana sono stato in farm per aumentare la ram del server principale che e' stata portata a 24GB totali, visto che ultimamente avevamo finito i 12GB installati.

luca.masali 06 maggio 11 15:04

Citazione:

Originalmente inviato da fai4602 (Messaggio 2566074)
Da un pò di tempo faccio una tal fatica a fare una semplice ricerca che la maggior parte del tempo mi accontento di sacramentare pesantemente contro il server :

".........questo forum ha bisogno di un' attesa di 30 secondi fra una ricerca e l'altra......"

o qualche cosa di simile.

Ma che cavolo, nessuna doppia ricerca che si accavalli, entro in una sezione, in un thread qualunque, voglio vedere i messaggi di un utente qualsiasi e quel cazzone di server mi blocca........ma che vada a farsi fottere :uhm:

usa Google, no? :D

blinking 06 maggio 11 15:09

@Luca: aridaje, con google non puoi fare ricerche avanzate come "da dentro" il forum

grazie Francesco per la modifica, speriamo che il server la regga:wink:


Tutti gli orari sono GMT +2. Adesso sono le 10:51.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026
www.baronerosso.it - www.toymagazine.it