asp.net - ASP.NET 性能瓶颈之谜

标签 asp.net performance profiling

一个经典的 ASP.NET 应用程序 - AppSrv + MS SQL DB。两台服务器都是重量级的 8 核、20 GB 内存。负载测试时,吞吐量达到 400 个 VirtualUsers(根据 LoadRunner),CPU 使用率约为 30%,数据库服务器主要处于空闲状态 - 响应时间急剧增加,直至无响应。

常见的疑点,例如Max Pool 被耗尽和ASP.NET 设置的conn 限制都没有错:Max Pool 设置为200,大约使用了80 个conn; conn 限制设置为 0。

我用 ANTS profiler 运行了代码,结果表明线程阻塞没有显着贡献。

想法非常非常欢迎!

最佳答案

使用一些适当的唯一请求 ID 将日志记录添加到您的应用程序,以便您可以有效地跟踪页面加载中每个操作所需的时间。例如,在每次数据库调用之前和之后进行记录将显示数据库调用是否花费了很长时间。

正如其他人所建议的那样,在数据库端添加日志记录/分析将显示是否死锁(或类似)。

关于asp.net - ASP.NET 性能瓶颈之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242614/

相关文章:

.net - 如何使用 javascript 遍历 ASP .NET 文本框并计算值?

sql-server - 如何观察插入到 uniqueidentifier 主键列时的性能开销?

Java:如何查看代码的哪些部分运行最多? (分析)

C++ 在分析时在 ntdll 中发现性能问题 - 如何摆脱它?

arrays - 将哈希表转换为 O(log(k)*k + n) 中的排序数组

maven - 如何定时执行Maven的不同阶段

c# - 在 ASP.NET Core 2.2 中将部分 View 呈现为 HTML 字符串

c# - Visual Studio 2015 在 Text Visualizer 上截断长字符串

asp.net - “onclick”按钮未使用 VB.NET 提供地址

java - 使用字符串、变量、循环的正确编码实践 - Java (Android)