database - 存储+评估性能数据

标签 database performance language-agnostic storage measurement

由于我们的 Web 应用程序性能逐渐下降,因此我们决定监控我们的应用程序性能并衡量各个操作。

例如,我们将测量每个请求的持续时间,单个操作(如编辑客户或创建约会、搜索契约(Contract))的持续时间。 在大多数情况下,数据库是这些操作的瓶颈。

我预计最终数据会非常大,因为我们将为每个请求收集 1-5 个单独的操作。

当然,将每个元素插入数据库是无稽之谈,因为这会进一步减慢每个请求。

什么是存储和评估这些按请求数据的好策略。 我考虑过有一个附加的全局队列对象和一个清空队列并处理持久存储/文件的单独线程。但是在哪里存储这些数据呢?是否有用于此类可视化的任何预构建工具?

我们使用java、spring、混合hibernate+jdbc+pl/sql、oracle。

不过,这个问题应该与语言无关。

编辑:测量将在很长一段时间内在生产中进行。

最佳答案

您的存档策略似乎至少部分取决于您的测试范围:

  • 您打算在多长时间内收集性能数据?
  • 你想展示什么?随着时间的推移性能改进?与特定变化相关的改进? (比如一组特定版本的性能问题)

至于可视化工具,我发现 excel 对于中小量数据非常有用。

关于database - 存储+评估性能数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942136/

相关文章:

javascript - 奇怪的 JavaScript 性能

language-agnostic - 黑手党 war 网页游戏

c# - 'as dynamic[]' 和 ToArray() 之间的区别

mysql - 如何确保数据库的互操作性

mysql - 如何在外键约束中组合字段

mysql - 如何在关系数据库中进行继承建模?

ruby-on-rails - 为什么我的 Rails 服务器渲染时间不加起来?

language-agnostic - 我需要一个基本的具体示例来说明如何将 TDD 与按契约(Contract)设计一起使用

language-agnostic - 如何实现投票系统?

java - 关系数据未存储在 Ebean 中