|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2005
Messaggi: 64
|
Mysql lento?
Ciao a tutti..
come al solito sto impazzendo.. Ho creato su VMware una macchina virtuale con ubuntu e Lamp.. eseguo uno script in php di inserimento prodotti in DB mysql che impiega circa 18 minuti per 35000 record.. Ho quindi installato ubuntu su una macchina reale (quindi + performante con tutta la Ram disponibile ecc..) configurando Lamp allo stesso modo che lo avevo configurato su Vmware.. E' da ieri mattina che non riesco a capire perchè sulla macchina reale lo script impiega più di 1 ora... Credevo che il problema era relativo alla velocità del disco e stamattina ho persino acquistato un SSD.. ma niente... Dove sta il problema? è mysql ? o altro? Grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 1400
|
è sicuramente un problema di configurazione, verifica anche le versioni installate e le estensioni di php
una curiosità come ti colleghi da php a mysql? Ultima modifica di SerMagnus : 24-08-2011 alle 12:05. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Apr 2005
Messaggi: 64
|
Ciao grazie per la risposta..
le versioni e le estensioni sono perfettamente uguali a quelle installate in vmware. Mi collego da terminale tramite script php.. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Svolge semplici inserimenti?
Se non fa solo inserimenti, eventuali colonne coinvolte in join o where sono tutte indicizzate? InnoDB? Attenzione che anche indici buoni per alcune query rischiano di rallentarne altre. Gli inserimenti vengono svolti per ogni singolo record o a blocchi di n record? (solitamente insert a blocchi sono notevolmente più veloci, se i dati permettono di farli) Ah, anche eventuali utilizzi di condizioni IN ( a, b, n ) sono spesso causa di rallentamenti inattesi (creazione tabelle temporanee che in macchina virtuale credo potrebbero risultare più veloci).
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Apr 2005
Messaggi: 64
|
Premetto che ho pochissima pratica...
cmq non so risponderti.. So che c'è InnoDB, i record vanno singolarmente.. ma non so delle tabelle temporanee Ho appena provato l'ennesimo tentativo.. Ho clonato la macchina virtuale su hd ho lanciato ubuntu e la stessa macchina su vmware è veloce mentre in "reale" sempre lenta.. dai 18 minuti di vmware siamo a circa 45 minuti in locale... |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2005
Messaggi: 1400
|
ma la macchina reale è pulita?
cmq per sfizio fai una prova: rimuovi tutti gli indici, pialla la tabella e poi li rilancia lo script per l'inserimento |
![]() |
![]() |
![]() |
#7 |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...come ti connetti al db?...usi un pool o apri chiudi la connessione di volta in volta?...
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Apr 2005
Messaggi: 64
|
ciao ho risolto impostando per innodb
set innodb_flush_log_at_trx_commit = 2 e va decisamente mooolto meglio.. grazie cmq dell'aiuto |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:24.