2012-02-10 12 views
7

Esiste un software o un modo per prevedere la necessità delle risorse di sistema prendendo diversi input come il rapporto lettura/scrittura di query MySQL, query eseguite in un secondo, proprietà di tabelle e database, forse più input relativi alle configurazioni PHP ecc.?Come prevedere la necessità delle risorse di sistema?

Sì. So che probabilmente non esiste una soluzione perfetta che un software possa fornirmi, ma non sto cercando una soluzione perfetta.

+0

Hai un'idea della scala della tua app e del tipo di query che stai per eseguire? – Mike

+2

non si conosce la previsione, ma si può simulare il carico del server con strumenti come jMeter, e si possono usare le funzionalità di profiling di debugger PHP come XDebug per creare un'immagine della durata di uno script PHP da eseguire (anche se nella mia l'esperienza del profilo stesso può aggiungere una notevole quantità di overhead allo script in esecuzione, quindi mentre il suo udeful per l'ottimizzazione del codice la sua utilità come utilità di previsione delle prestazioni può essere limitato). – GordonM

risposta

0

Alcuni strumenti che possono tornare utili: AWS Cloudwatch, ma funzionerà solo con EC2. Imposta un allarme, ad esempio per l'utilizzo della CPU, quindi nel momento in cui superi, ad esempio il 75%, verrà inviata un'e-mail di allarme o un sms, in modo da poterti controllare di conseguenza.

AWS Elsatic Load Balancer, ti aiuterà a distribuire ulteriormente il traffico, rilasciando l'istanza insalubre e instradando il traffico verso un server più sano.

Alcuni strumenti di monitoraggio come ... mancano i nomi ... ma se puoi occuparti di cose con un metodo di autocontrollo, quando utilizziamo un pannello di controllo come webmin, puoi ottenere i dettagli dell'utilizzo della CPU, Utilizzo RAM, archiviazione, ecc ...

E infine, solo un concetto, ma ci vorrà molto per completare, e seguirò quanto algolicious appena detto sopra, creare un modello matematico che può funzionare su cron, quindi ogni 5 minuti l'osservazione può essere registrata e l'azione deve essere eseguita quando richiesto.

0

Vorrei creare un modello matematico per calcolare una previsione delle risorse di sistema. Calcolerei una stima empirica della densità di probabilità basata sulle statistiche bayesiane. Più formalmente si vuole calcolare qualcosa di simile:

E [Memoria | CPU = 0,9, QuerySpeed ​​= 0,6, ...]

È possibile aggiornare la distribuzione basata su nuovi eventi di segnale utilizzando il teorema di Bayes:

P (A | B) = P (B | A) P (A)/P (B)

Questo si adatterà a nuove evidenze empiriche.

+0

Grazie ma non ho potuto capire. Puoi semplificarlo? –

0

Un'altra opzione è l'utilizzo di una piattaforma scalabile come Amazon Web Services. Puoi iniziare con una micro istanza e configurare il bilanciamento del carico per attivare più istanze, se necessario.

Una volta determinati i requisiti di risorse medie, è possibile ridimensionare l'immagine a dimensioni maggiori o minori a seconda delle esigenze.

http://aws.amazon.com http://tuts.pinehead.tv/2011/06/26/creating-an-amazon-ec2-instance-with-linux-lamp-stack/

0

mysqltuner è uno script Perl base ..

consiglio vivamente di provare questo ...

scaricare mysqltuner da qui

http://mysqltuner.pl/mysqltuner.pl 

la sua applicazione a riga di comando e darvi il dettaglio di quali risorse hai bisogno per la tua attuale applicazione ...

Problemi correlati