gpt4 book ai didi

c# - 如何确定哪些函数和 sql 过程导致主机服务器上的 cpu 使用率过高

转载 作者:太空狗 更新时间:2023-10-30 01:16:28 24 4
gpt4 key购买 nike

我有一个 c#/asp.net web 应用程序(非 mvc),它有一些页面使用存储过程和 View 多次访问 sql 数据库。该应用程序现在有 5-10 个用户,主机通知我它导致服务器上的 CPU 使用率超过 95%。

我的问题是,我如何确定哪些函数/过程/线程导致了高 CPU 使用率,以便我可以缓存或优化它们?请注意,主机不允许我访问任何服务器日志、统计信息或服务器系统数据库表,只能访问我的应用程序的数据库,这让我非常头疼!

最佳答案

您可以使用 SqlProfiler 来跟踪任何 SQL 过程、函数等的性能和行为。

你可以检查这个:SqlProfiler因为它是一个非常有用的工具,在提高 sql 存储过程性能方面确实帮了我很多。

您将运行您的应用程序,但在此之前转到您的 sql 事件探查器并将其配置为仅监听所需的事件,例如“过程已完成”并选择您的过滤条件,例如您的数据库或执行用户,然后当您在您的应用程序与数据库相关,分析器将对其进行跟踪和分析。

您可以查看它的逐步使用here .

关于与数据访问无关的 C# 函数,您可以使用秒表类来衡量它的性能以计算它的执行时间:

var watch = Stopwatch.StartNew();
// the code that you want to measure comes here
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;

或者你可以 Analyze Performance While Debugging in Visual Studio 2015

关于c# - 如何确定哪些函数和 sql 过程导致主机服务器上的 cpu 使用率过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35062357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com