如何预测系统资源需求?

时间:2012-02-10 13:07:00

标签: php mysql apache estimation prediction

是否有任何软件或方法可以通过获取几个输入来预测系统资源需求,例如MySQL查询读/写比率,在一秒钟内执行的查询,表和数据库的属性,可能还有一些与PHP配置相关的输入等?

是。我知道软件可能没有提供完美的解决方案,但我不是在寻找一个完美的解决方案。

4 个答案:

答案 0 :(得分:0)

我会创建一个数学模型来计算系统资源的预测。我将基于贝叶斯统计计算经验概率密度估计。更正式地说,你想要计算类似的东西:

E [内存| CPU = 0.9,QuerySpeed = 0.6,...]

您可以使用贝叶斯定理基于新信号事件更新分布:

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

这将适应新的经验证据。

答案 1 :(得分:0)

另一种选择是使用可扩展的平台,例如Amazon Web Services。您可以从微实例开始,并根据需要配置负载平衡以启动更多实例。

确定平均资源需求后,您可以根据需要将图片调整为更大或更小。

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

答案 2 :(得分:0)

mysqltuner是一个基于perl的脚本..

我强烈建议你尝试一下......

从这里下载mysqltuner

http://mysqltuner.pl/mysqltuner.pl

其命令行应用程序,并为您提供当前应用程序所需的详细信息......

答案 3 :(得分:0)

一些可能派上用场的工具: AWS Cloudwatch,但仅适用于EC2。设置一个警报,比如CPU利用率,所以当你超过75%的时候,会发送一个警报电子邮件或短信,这样你就可以相应地环顾四周。

AWS Elsatic Load Balancer将帮助您进一步分发流量,释放不健康的实例并将流量路由到更健康的服务器。

一些监控工具,如...缺少名称......但如果您可以通过自我监控方式处理事情,当我们使用像webmin这样的控制面板时,您可以获得CPU使用率,RAM的详细信息用法,存储等......

最后,只是一个概念,但需要花费很多时间才能完成,我将遵循上面所说的那种algolicious,创建一个可以在cron上工作的数学模型,所以每隔5分钟就可以记录观察结果,并采取行动在需要时采取。