On 24/10/2013 12:07, Fabrizio Soppelsa wrote:
Ciao a tutti sono un nuovo adepto, mi chiamo Fabrizio, abito a Milano e
uso Python (in combinazione anche con altro) quasi solamente lato
sistemistico.
Il mio problema del giorno sono i backup notturni dei database MySQL.
Eseguo backup su circa un migliaio di host e ognuno ha i propri DB.
Essendo che alcune VM hanno uno storage non proprio velocissimo, se i DB
sono particolarmente pesanti succede che si rallenta VM stessa a tal
punto che intacca criticamente le performance dei servizi erogati
(tipicamente applicativi e API web). Mi servirebbe un metodo per
"diluire" nel tempo questa procedura.
Il metodo per diluire è abbastanza semplice: ridurre il load sulla
macchina riducendo l'I/O.
Su sistema UNIX puoi provare a ridurre la priorità del tuo programma con
nice. In aggiunta puoi mettere il processo in pausa dopo aver
letto/scritto un chunk di dati da/verso il disco.
Mi chiedevo se qualcuno ha già maturato esperienza su questo genere di
problema e può darmi qualche hint. Attualmente uso automysqlbackup e
Python per trigger da eseguire quando la procedura è finita (per esempio
cifrare il dump), ma forse esiste qualcosa di più furbo? (Possibilmente
Python-friendly?)
Ma il problema di prestazioni lo hai quando viene generato il file di
backup su file su disco dall'utility di backup di MySQL, oppure durante
l'esecuzione del tuo trigger scritto in Python?
In caso contrario ho anche pensato, su use case specifici, tipo host con
1 solo DB massiccio, di usare solo Python e scriptare in autonomia con i
Thread. Non ho mai usato i Thread in Py, secondo voi potrei cavarci un
ragno dal buco nel caso specifico? So quali sono le controindicazioni,
che è complesso (ho usato i Thread in Java), ma se non esiste altro...
Prima dicci dove hai effettivamente il problema di prestazione e poi si
può discutere su dove e come ottimizzare.
Grazie e buona giornata!
Ciao Manlio
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python