News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Picchi 100% mSQL con SMF

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

Previous topic - Next topic

aga21

Ciao, siamo passati a una VPS decisamente più performante visto che Hostgator ci mandava offline spesso.

Il problema è relativo all'utilizzo di mysql, allego una schermata di htop









Come posso risolvere?


emanuele

Premesso che purtroppo non sono un grande esperto di server.

Questi picchi durano a lungo?
Il "load average" non sembra particolarmente alto.
Ho chiesto ieri sera su IRC SleePy ha suggerito che potrebbe essere un problema di configurazione di MySQL, ma non è entrato nei dettagli (è andato via poco dopo).
Se puoi, prova a postare i paramentri di configurazione di MySQL.


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

Pronti:

http://www.basketforum.it/status.php

e visto che ci sono, dove posso trovare sphinx per smf 2.04?

emanuele

Una cosa che mi è venuta in mente ora e che posso suggerirti è: innodb.

Ti conviene convertire almeno:
* smf_messages
* smf_topics
per iniziare.

Questo aiuta ad evitare che le tabelle vengano bloccate in attesa di completare la precedente operazione.

Per sphinx dammi qualche minuto che lo cerco. ;)


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.

Tanakino

Vi seguo da vicino perchè ho avuto gli stessi guai con Hostgator e anche io sto passando ad un VPS .. però non capisco un acca di quello che dite/fate .. :)


T.

aga21

Quote from: emanuele on August 04, 2013, 03:13:29 PM
Una cosa che mi è venuta in mente ora e che posso suggerirti è: innodb.

Ti conviene convertire almeno:
* smf_messages
* smf_topics
per iniziare.

Questo aiuta ad evitare che le tabelle vengano bloccate in attesa di completare la precedente operazione.


ok, cosa uso per la conversione?

ALTER TABLE nome tabella ENGINE=InnoDB;

emanuele

Sì, dovrebbe essere quello il comando:
http://dev.mysql.com/doc/refman/5.5/en/converting-tables-to-innodb.html
(quelle poche volte che l'ho fatto ho usato phpMyAdmin, e non mi ricordo la sintassi :))


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

Il carico sembra essere diminuito, vedo ancora dei picchi ma sporadici.

aga21

Penso fosse proprio quello il problema, grazie.

Segno il topic come risolto.

P.S. Per il resto ti ho mandato un mp.

aga21


aga21

Controllando i LOG ho notato che il problema era nella temporary table e allora in my.cnf ho inserito dei valori piuttosto alti:


tmp_table_size = 128M
max_heap_table_size = 128M
key_buffer_size = 64M


ora sembra andare

emanuele

Quali tabelle hai convertito a innodb?

Sei sicuro dei 64M del key_buffer_size?
Mi sembrano un po' tanti...


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 19, 2013, 11:37:05 AM
Quali tabelle hai convertito a innodb?


Le due che mi hai suggerito

Quote
Sei sicuro dei 64M del key_buffer_size?
Mi sembrano un po' tanti...

per ora sembra andare bene, magari lo riduco poi, ho un giga di ram.

emanuele

Altre che puoi convertire sono:
* smf_log_boards
* smf_log_mark_read
* smf_log_topics
Queste dovrebbero essere quelle che si allungano di più e che quindi traggono maggior vantaggio dall'usare innobd.
Tieni conto che più usi innodb, più RAM usi.


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


aga21

non riesco proprio a capire

guardando status.php ci sono un sacco di messaggi come questo



Copying to tmp table 131s

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



e ovviamente la cpu al 100 per 100

emanuele

Cosa c'è di diverso dopo circa le 4 e mezza quando i "picchi" smettono?


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

Avevo modificato i valori nella configurazione di mysql.

per un po' è andato bene, poi ricomincia.

sono costretto a killare i processi o far ripartire mysql per evitare che rimanga piantato

aga21

Ho rimesso dei valori più alti per


tmp_table_size
max_heap_table_size
key_buffer_size


e adesso non va più al 100 per 100, spero non ricominci


aga21

Ovviamente ricomincia.

MA questa query cosa fa?

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

Advertisement: