2012-02-10 15 views
7

¿Hay algún software o forma de predecir la necesidad de recursos del sistema tomando varias entradas como la relación de lectura/escritura de consultas MySQL, consultas ejecutadas en un segundo, propiedades de tablas y bases de datos, tal vez algunas entradas más relacionadas con configuraciones de PHP, etc.?¿Cómo predecir la necesidad de recursos del sistema?

Sí. Sé que probablemente no haya una solución perfecta que un software pueda proporcionarme, pero no estoy buscando una solución perfecta.

+0

¿Tiene alguna idea de la escala de su aplicación y el tipo de consultas que va a ejecutar en ella? – Mike

+2

no conoce la predicción, pero puede simular la carga del servidor con herramientas como jMeter, y puede usar las funciones de creación de perfiles de los depuradores de PHP como XDebug para crear una imagen de cuánto tarda en ejecutarse un script PHP (aunque en mi la experiencia del perfil en sí puede agregar una buena cantidad de sobrecarga al script en ejecución, por lo que, si bien es útil para optimizar el código, su utilidad como utilidad de predicción del rendimiento puede ser limitada). – GordonM

Respuesta

0

Algunas herramientas que pueden ser útiles: AWS Cloudwatch, pero funcionará solo con EC2. Configure una alarma, por ejemplo, para la utilización de la CPU, de modo que en el momento en que la supere, digamos el 75%, se le enviará un correo electrónico de alarma o sms, para que pueda mirar alrededor.

AWS Elsatic Load Balancer, lo ayudará a distribuir aún más el tráfico, liberando la instancia insalubre y enrutando el tráfico a un servidor más saludable.

Algunas herramientas de supervisión como ... faltan nombres ... pero si puede encargarse de una manera de autocontrol, cuando usamos un panel de control como webmin, puede obtener los detalles del uso de la CPU, Uso de RAM, almacenamiento, etc ...

Y, por último, solo un concepto, pero tomará mucho para completar, y voy a seguir lo que algolicious acaba de mencionar, crear un modelo matemático que pueda funcionar en cron, así que cada 5 minutos se puede registrar la observación y tomar medidas cuando sea necesario.

0

Crearía un modelo matemático para calcular un pronóstico de los recursos del sistema. Calcularía una estimación de densidad de probabilidad empírica basada en estadísticas bayesianas. Más formalmente desea calcular algo como:

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

Puede actualizar la distribución sobre la base de nuevos eventos de señal utilizando el teorema de Bayes:

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

Esto se adaptará a la nueva evidencia empírica.

+0

Gracias pero no pude entender. ¿Puedes simplificarlo? –

0

Otra opción es usar una plataforma escalable como Amazon Web Services. Puede comenzar con una microinstancia y configurar el equilibrio de carga para iniciar más instancias según sea necesario.

Una vez que determine los requisitos de recursos promedio, puede cambiar el tamaño de su imagen a mayor o menor según sus necesidades.

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

0

mysqltuner es un guión basado en Perl ..

te recomiendo que pruebes este ...

descarga mysqltuner de aquí

http://mysqltuner.pl/mysqltuner.pl 

su aplicación de línea de comandos y darle el detalle de los recursos que necesita para su aplicación actual ...

Cuestiones relacionadas