应该运行什么样的测试来确定服务器上的瓶颈?我试图优化,以便我可以保持沉重的负荷峰值时,他们发生。我在灯光环境下运行Ubuntu。
发布于 2010-11-05 20:20:02
我建议首先安装一个日志框架,比如munin,这样您就可以在基本负载上和服务器上的尖峰期间获得一些可用的数据。然后,我将监视SQL服务器上的查询(特别是缓慢的查询)。
使用这些信息,您可以确定这些情况是否非常特殊,或者它们是否只是将最后一颗钉子添加到高度加载的机器上,以及发生了什么,例如您正在耗尽RAM,某些进程有时会锤击磁盘,或者您的CPU才是问题所在。
发布于 2010-11-05 21:02:51
这是一个非常广泛的问题。要衡量任何事情,首先需要一个基线性能指标。安装munin和munin-node并评估基线。collectd和受人尊敬的SNMP也是一些选项,但对用户不太友好。
考虑一下你的申请。数据库太重了吗?有很多情报吗?CPU (视频编码)?首先,执行一些正常的web应用程序任务,并查看瓶颈所在。使用siege、ab或JMeter等其他工具实现这些任务的自动化。
在建立了一些基线度量和断点之后,您可以看到需要改进的地方。正如所述,这是一个广泛的问题,因此有一个相当广泛的答案:
memcached这样的单独的缓存框架吗?nginx这样的轻量级like服务器,而不是Apache,或者使用反向代理设置。您还可以更改相关的sysctl.conf (内核)参数。其他要点和考虑:
你认为一切都是相关的,重击你的服务器,调,重复。
发布于 2010-11-05 20:28:31
我发现最好的方法是在部署之前进行容量分析。然而,有一篇非常好的文章,你到底在寻找什么,我希望这会有所帮助。
http://blog.inarow.net/post/227533559/four-steps-to-diagnose-your-lamp-application
1)跟踪MySQL查询,占用第二次;2)监视PHP内存使用情况&日志Apache交付时间;3)日志PHP错误;4)在操作系统级别上拍摄快照
我还想将JMeter添加到其中。http://jakarta.apache.org/jmeter/
https://serverfault.com/questions/198747
复制相似问题