【发布时间】:2011-09-18 11:08:52
【问题描述】:
我们正在完成我们的应用程序,用 PHP/MySQL (+ memcached) 编写,我们将在下周末开始一个晚上的现场测试(这是一种“社交”应用程序)。
当然,我们会监控错误日志文件以确保一切正常。但我们也希望保留应用程序性能的日志:例如,确定脚本是否运行得太慢,以及更详细地了解函数/方法运行所需的时间,执行 MySQL 查询并进行比较使用从 memcached 中获取(和“un-jsoned”)的数据。
这是我第一次做这样的事情:但是,我认为这是根本性的,因为我们需要确保当我们的客户在 10 到 15 天内开始使用应用程序时,它能够正确扩展。 (向上)扩展不会是一个大问题,因为我们使用的是云服务器(我们将从一个具有 256 MB RAM 的单个实例开始,由一家知名公司提供),但我们希望确保使用资源高效。
您对此监控有什么建议吗?好的做法?好文章值得阅读?
另外,当测试结束后,我们是否应该继续监控现场环境中的表现?即使不是针对所有请求,而只是针对样本?
PS:将所有 MySQL 查询及其运行时间记录在一个文件中是个好主意吗?
【问题讨论】:
-
对于 MySQL,您可以从启用 slow query log 开始。请注意,任何类型的额外监控都会在一定程度上降低性能。
-
“扩展不会是一个大问题,因为我们使用的是云服务器”---呵呵,如果它只是你想的那么简单;-)
-
嗯,在最初的现场测试中,我想监控一切,而不仅仅是慢查询...我知道它会影响性能,但至少在开始时我希望获得所有可能的信息。
-
@zermks:我的意思是“升级”对不起 :)
-
这是一项付费服务,但我听说过关于 New Relic 的精彩内容
标签: php mysql performance logging monitoring