用于诊断性能不佳的良好工具和方法

Phi*_*hil 0 networking troubleshooting performance

我的公司正在开发基于 Web 的数据查看器应用程序,它需要相当数量的带宽才能正常运行。然而,最近我们一直在改变很多东西。例如,我们改变了我们的内部网络基础设施,以便数据可以托管在通过千兆以太网连接的不同机器上。最重要的是,应用程序本身不断推出新版本,因为我们仍处于 alpha 和 beta 测试阶段。

最近我们进行了一些导致性能下降的更改,我们希望在开始拆解之前尝试确定问题所在。这是一个非常小的网络,我作为 IT 管理员的经验有限。我有一些关于从哪里开始的想法,但我想先从专业人士那里收获一些智慧:你如何解决/避免类似的问题?您使用过的最有用的 (Windows) 工具是什么?

Jus*_*tin 6

我总是遵循这种方法:尝试一次测试一件事。

值得信赖的“科学方法”对于故障排除非常有效:

  1. 想出一个理论来解释为什么应用程序很慢
  2. 设计一个可以证实该理论的测试。
  3. 重复。

对于 webapp,这可能意味着:

  • 可能是数据库吗?运行一些独立的 SQL 查询
  • 它可能是网络服务器吗?通过获取静态页面来测试 Web 服务器
  • 可能是应用程序吗?通过点击不访问数据库的动态页面来测试 Web 服务器
  • 它可能是数据库的应用程序接口吗?通过点击访问数据库的动态页面来测试 Web 服务器。

还可以运行基本的基准测试来测试 CPU、内存、磁盘速度,可以帮助您在进一步操作之前排除其中之一。

我经常看到这样的事情:

备份在新服务器上比在旧服务器上花费的时间更长。

但是没有人做过一个基本的磁盘基准测试来发现旧服务器的轴数是新服务器的两倍……或者网络基准测试发现新服务器千兆以太网仅以 100M 运行。

总而言之,如果这是一个自定义 Web 应用程序,那么您使用的框架肯定有一种方法可以将性能信息转储到日志文件中……但这对 stackoverflow 来说更像是一个问题。