optimization - 随时间收集服务性能指标

标签 optimization report servicestack profiler

我想为我的每个 ServiceStack 服务收集性能指标,并编写一个报告这些指标的服务。具体来说,我最终想呈现一个类似这样的报告:

Service Name    Fastest time    Median time    Slowest time   Access count
---------------------------------------------------------------------------
GetCustomer         5 ms           8 ms           1001 ms       12345
ListMonkeys       123 ms         200 ms            228 ms         999

我想我知道如何使用请求/响应过滤器来做到这一点,但也许有一种现有的机制可以做到这一点?

最佳答案

我会尝试查看 ServiceStacks embedded mini-profiler并将分析条件(在 global.asax begin_request 中)更改为始终运行,或者可能随机选择所有请求的 10% 或 15% 运行。

然后你应该启用 MiniProfiler's persistent storage但是,ServiceStack 嵌入式版本中的命名空间/属性可能与此示例略有不同。

最后,我会看看 MVC mini profiler dashboard drop in at Github .如果您不使用 ASP.net MVC,至少 PerformanceController.cs可以让您很好地了解如何构建 SQL 调用。免责声明: Controller 正在使用一些仅存在于 Oracle、Microsoft SQL 和 PostgreSQL 中的统计函数(据我所知),因此如果您使用 MySQL,您可能必须在应用程序端编写一些逻辑代码。

关于optimization - 随时间收集服务性能指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089283/

相关文章:

android - Opera-Mini浏览器CSS优化实践

php - 如何正确测试查询性能

csv - 无法将 CSV 转换为 Poco

c# - 指定向 ServiceStack 发送一个参数作为查询参数

c# - ServiceStack 社交 Bootstrap API 示例 - 登录

python - 将分类 Pandas 系列转换为字符串的快速方法

oracle - 强制 Oracle 使用主键索引而不使用提示

reporting-services - 无法打开与报表服务器数据库的连接

cocoa - 如何将崩溃报告的电子邮件地址重定向到我的电子邮件(对于我的 cocoa 应用程序)

google-analytics - 谷歌分析语言代码