asp.net - 如何解决这个IIS慢的问题?
问题描述
在我公司,我们有一个使用 ASP .NET 4.5.2 技术开发的网站
该站点始终具有最佳性能,当我说这是域不需要 1 秒加载或执行使用数据库的活动的等待时间不花费 5 秒时。
在网站上,打印付款收据,查阅人们的信息等,但最近实施了一项新功能,即调查,需要 228 个问题。
通过 RadiobuttonList 回答问题以加快处理速度,每次按下控件时,答案都会保存在数据库中,以始终保持用户所在调查的状态,这使得每分钟在数据库中接收大约 11 个事务,WebMethod 也用于同步验证问题,WCF 用于连接数据库层(SQL Server 2014 Express)
从实施此功能的第一天起,就收到了用户的投诉,因为他们收到错误502 代理错误或网站加载每个表单需要将近 2 分钟或更长时间,有时我不得不重新启动 IIS 服务以使一切恢复正常
一开始,调查功能使用 HttpContext.Current.Session 来保存用户调查的状态,也就是知道它已经回答了哪些问题,还有哪些问题需要回答,我决定将其更改为受保护的静态在可疑形式的层面上反对这是原因。
一直没用,还是慢的问题,奇怪的是数据库服务器是正常的,不受影响,这时候我决定想办法勾勒一下web服务器的性能,知道有多少人连接到应用程序,通过性能监视器和这个问题相吻合,因为连接的人数平均为 50,突然上升到 90 或下降到 20。这是了解连接到我的应用程序的用户数量的正确方法吗?(粉色线表示当前连接数)
但是我有什么样的服务器?
嗯,它实际上是一个虚拟机 (VMWare),具有:
- 处理器 Intel Xeon CPU E3-1220 v5 @ 3.00GHz(2 个处理器)
- 4.00 GB 内存
- 系统 x64 位,是 Windows 10 Pro 操作系统
- IIS 10.0
您甚至没有服务器操作系统的事实是问题的原因吗?
这与服务器使用的带宽有关吗?
我应该在 IIS 或我的应用程序的 Web.config 中进行一些配置以优化性能吗?
解决方案
推荐阅读
- java - 使用 Java Socket 和 jsf 的基于 Web 的应用程序
- azure - Azure 容器注册表比从 hub.docker.com 获取图像慢
- ruby - 在无序遍历二叉搜索树时感到困惑
- windows - 如何安全地删除 Ubuntu EFI 分区并将 Windows EFI 分区移动到我在全新 Windows 安装期间创建的可用空间?
- html - 在 AWK 中打印多行
- python - 不一致的 Numpy 数组别名行为
- udp - 无法使用 sdn 和 opeflow ovs(UDP 版本)在 mininet 中正确设置防火墙
- java - 如何在每个 NavigationView 菜单组设置自己的样式
- tensorflow - 使用预训练网络的 Triplet-Loss
- javascript - Css / Jquery 切换左栏以从右侧而不是左侧打开