【问题标题】:Displaying performance metrics in a modern web app?在现代 Web 应用程序中显示性能指标?
【发布时间】:2010-05-29 15:50:13
【问题描述】:

我们正在更新我们古老的内部 PHP 应用程序。现在,我们在每次浏览量上收集广泛的性能测量结果,并将它们记录到数据库中。此外,用户要求在页面底部显示一些指标。这对我们来说效果很好,因为应用程序对每个请求所做的最后一件事就是包含包含 HTML 页脚的文件。页脚代码调用该函数将性能指标记录到数据库中,并将它们返回以包含在输出中给用户。

应用程序的更新部分使用 MVC 框架和 Dispatch/Request/Response 循环。页脚不再是最后完成的事情。事实上,它很可能是在创建页面的其余部分之前完成的第一件事。

因为我们可以在返回给用户之前获取响应,我们可以尝试在页脚中包含性能指标的占位符,并简单地将它们替换为实际数字,但这让我印象深刻不知何故,这是个坏主意。

您如何在您的现代网络应用程序中处理这个问题?当我们使用 PHP 时,我很好奇它是如何在 Ruby/Rails 应用程序以及您最喜欢的 Python 框架中完成的。

【问题讨论】:

    标签: performance model-view-controller


    【解决方案1】:

    在 Zend Framework for PHP 中,我们重载了postDispatch(),我们在其中附加了一个调用帮助器的部分,该帮助器收集最终指标(至少我相信我们是这样做的)。另一种方法是让我们重载 Zend Framework 响应对象,将其附加到 render 操作之后。

    RoR 具有相同的能力(重载渲染的每一步),我相信大多数 MVC 框架也可以。作为一个注释,我记得 CodIgniter 在开发模式下具有自动调试信息,它应该是一个简单的案例,可以找到渲染的位置并模拟它。

    祝你好运。

    【讨论】:

    • 我得看看 CodeIgniter 的做法。我们的“框架”是本土开发的,目前总共可能只有几十行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2012-03-27
    • 1970-01-01
    • 2016-12-27
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多