[Python] Automysqlbackup e py

Manlio Perillo manlio.perillo a gmail.com
Gio 24 Ott 2013 12:18:02 CEST


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



Maggiori informazioni sulla lista Python