• Welcome to Simple Machines Community Forum. Please login or sign up.
January 18, 2022, 03:46:39 AM

News:

Join the Facebook Fan Page.


Picchi 100% mSQL con SMF

Started by aga21, August 01, 2013, 02:46:05 PM

Previous topic - Next topic

emanuele

Quella non è la query che stai cercando.
Comunque è utilizzata per:
http://www.simplemachines.org/community/index.php?action=.xml;sa=recent

Allora, proviamo una cosa che ha funzionato altrove, allegami Recent.php.

Intanto che ci sei, se non l'hai già fatto, dato che ora hai una VPS, disabilita il "Utilizza sessioni con il supporto del database" (almeno un paio di query in meno a page load ;)).


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.


emanuele

Da quel che vedo al momento sembra tranquillo.

Altra domanda prima di proporti il cambio che ho in mente: hai abilitato il bilanciamento del carico? Portebbe aiutare.

Sono indeciso, ma proviamo ugualmente...
Ha funzionato in un carto contesto, che però non son sicuro sia questo: c'erano delle query che impiegavano molto tempo ad essere completatale, queste rallentavano così tanto il sistema che forzavano le altra in code e le query si accumulavano fino a diventare un numero ingestibile ed il processo doveva essere killato.
Il motivo per cui le query rallentavano era per via della creazione di tabelle temporanee durante la visualizzazione degli "unread" e "unreadreplies".
La soluzione (o forse sarebbe meglio dire il workaround) è stato di forzare SMF a non ricorrere alle tabelle temporanee.

Che è quello che ho fatto nel file allegato (....a dir la verità mi chiedo perché te l'ho fatto allegare... sorry, sono un po' fuori in questi giorni... xD) cerca i due "false &&" per vedere le modifiche.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

L'unica modifica che ho fatto per ora è quella di eliminare tutti i temi tranne quello di default, pensavo che la query fosse legata alla visualizzazione di qualche blocco con gli ultimi post

aga21


emanuele

Il grafico cosa vuol dire?
Che hai killato il processo? Ma quando? Alle 6 ieri seta o alle 8 o...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Quote from: emanuele on August 22, 2013, 09:37:17 AM
Il grafico cosa vuol dire?
Che hai killato il processo? Ma quando? Alle 6 ieri seta o alle 8 o...

Da quando ho eliminato gli altri template e riavviato mysql il problema non si è più verificato

emanuele

Hai *solo* eliminato dei temi?
Non hai caricato il file che ho postato, non hai modificato altri settaggi?
Quanto è lunga la tabella smf_themes?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Non ho fatto altre modifiche se non mettere forzatamente a tutti gli utenti il tema di default.

aga21

mi fa impazzire. improvvisamente verso le 14 solito processo che inchioda tutto ed è così da 2 ore, ora provo a sostituire quel file.

aga21

Niente da fare, ha ricominciato con gli stessi problemi.

Si può sapere cosa è questa query e perchè ci sta così tanto?

SELECT m.id_msg
FROM smf_messages AS m
INNER JOIN smf_boards AS b ON (b.id_board = m.id_board)
INNER JOIN smf_topics AS t ON (t.id_topic = m.id_topic)
WHERE (FIND_IN_SET(-1, b.member_groups) != 0)
AND m.id_msg <= b.id_last_msg
ORDER BY m.id_msg DESC
LIMIT 5

emanuele

Quote from: aga21 on August 23, 2013, 10:03:01 AM
Si può sapere cosa è questa query e perchè ci sta così tanto?
Te l'ho scritto qualche post fa.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Quote from: emanuele on August 23, 2013, 10:41:57 AM
Quote from: aga21 on August 23, 2013, 10:03:01 AM
Si può sapere cosa è questa query e perchè ci sta così tanto?
Te l'ho scritto qualche post fa.

Scusami, non ci avevo fatto caso. E' il feed RSS? Non posso eliminarla?


emanuele

Come ho scritto in precedenza, quella non è il tuo problema.

La schermata in allegato è molto più significativa: se vedi sono tutti waiting for "table level lock", questo significa che una tabella è bloccata da un processo.
Qual'è la tabella comune a tutte quelle query?
smf_board
Prova a convertirala a innodb.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Ohhh.... LOL
Quella è *anche* il tuo problema.

Tu hai un setup abbastanza inusuale: hai tutte le board nascoste.
Cosa succede: siccome quella query va a cercare i primi 5 topic che un visitatore può vedere, fa la scansione di *tutti* i topic del database in tutte le board, ecc.
Quindi è una query che ci impiega una vita nel tuo specifico caso.

Ora, domanda: perché non hai semplicemente disabilitato l'accesso al forum ai visitatori?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Quote from: emanuele on August 23, 2013, 11:03:59 AM
Ohhh.... LOL
Quella è *anche* il tuo problema.

Tu hai un setup abbastanza inusuale: hai tutte le board nascoste.
Cosa succede: siccome quella query va a cercare i primi 5 topic che un visitatore può vedere, fa la scansione di *tutti* i topic del database in tutte le board, ecc.
Quindi è una query che ci impiega una vita nel tuo specifico caso.

Ora, domanda: perché non hai semplicemente disabilitato l'accesso al forum ai visitatori?

Il forum era su IPB e ha ereditato tutti questi settaggi. Quindi devo rendere "pubbliche" tutte le board e poi disabilitare l'accesso ai visitatori?

emanuele

O puoi anche disabilitare l'accesso ai visitatori e basta.
E disabilitare i feed xml (admin > principale > news e newsletter > impostazioni), non c'è motivo per averli attivi se i visitatori non possono accedere forum.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Quote from: emanuele on August 23, 2013, 11:15:08 AM
O puoi anche disabilitare l'accesso ai visitatori e basta.
E disabilitare i feed xml (admin > principale > news e newsletter > impostazioni), non c'è motivo per averli attivi se i visitatori non possono accedere forum.

Fatto tutte e due le cose

(admin > configurazione > funzioni ed opzioni > generale e togli la spunta a "Permetti ai visitatori di navigare sul forum")
Admin -> News and Newsletters -> Settings Check the box next to "Enable XML/RSS News".

Da dove vedo se le board sono nascoste come mi hai detto tu?

emanuele

admin > forum > sezioni
Clicca sul "modifica" di fianco ad ogni board e vedrai che l'accesso ai visitatori è disabilitato.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21


Advertisement: