我们在 IIS7 上有一个 ASP.Net 3.5 应用程序。
在我们的预览服务器上,它以几乎即时的获取和响应运行(从获取到页面显示约 1 秒)。
我们有一个包含 5 个 Web 前端和一个由 3 个 sql 数据库组成的集群的生产环境。
字体末端在循环赛中使用来自 f5 的 BigIP 进行负载平衡。
前端和 sql 服务器之间有防火墙。
在生产中,我们在服务器开始响应之前经历了 45 秒的获取。根据以上信息,罪魁祸首可能是什么?
提前谢谢你。
我们在 IIS7 上有一个 ASP.Net 3.5 应用程序。
在我们的预览服务器上,它以几乎即时的获取和响应运行(从获取到页面显示约 1 秒)。
我们有一个包含 5 个 Web 前端和一个由 3 个 sql 数据库组成的集群的生产环境。
字体末端在循环赛中使用来自 f5 的 BigIP 进行负载平衡。
前端和 sql 服务器之间有防火墙。
在生产中,我们在服务器开始响应之前经历了 45 秒的获取。根据以上信息,罪魁祸首可能是什么?
提前谢谢你。
您提到的任何组件都可能是问题的原因。
解决此问题的最佳方法是嗅探客户端、IIS 服务器和 SQL 服务器上的入站和出站接口。一旦您记录了您的请求及其后续响应在 45 秒窗口内的位置,您应该可以轻松确定问题的根源。
我同意@Rich,问题可能出在任何地方。具体来说,为您的 dotNet 应用程序使用日志库并检查它,检查您的 IIS 日志,并可能在您的数据库服务器上使用 SQL Server Profiler。
唯一的复杂性是集群,因此您只会看到 1/5 的 Web 流量和 1/3 的数据库流量。如果每个请求都慢了 45 秒,那么我想跟踪任何请求都会告诉你问题所在。否则,请打开粘性会话,以便您在整个测试会话中始终使用同一台服务器。
当然,我们假设您已经检查了基础知识——您的服务器不会缺乏资源,对吧?(即:cpu 未满,仍有空闲 RAM,页面文件未满。)
此外,如果您要重新检查基本设置,请确保您确认所有联网设备都具有正确的速度和双工设置。令人惊讶的是,具有设置为半双工接口的单个服务器经常会破坏其他功能正常的应用程序。
您是否对 f5 设置进行了监控?如果您启用默认监控,它会每 5 秒检查一次,并在 12 秒后将服务器标记为离线 - 因此您会知道问题是否在 F5 和 Web 服务器之间。如果您没有基本监控,您可能需要考虑设置它,以便 F5 可以对节点做出明智的决策