c# – 如何识别哪些函数和sql过程导致主机服务器上的高CPU使用率
作者:互联网
我有一个c#/ asp.net Web应用程序(非mvc),它有一些页面可以使用存储过程和视图多次访问sql数据库.
该应用程序现在有5-10个用户,主机告诉我它在服务器上导致95%的CPU使用率.
我的问题是,如何确定哪些函数/过程/线程导致高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,asp-net,stored-procedures,sql-server-2014 来源: https://codeday.me/bug/20190623/1270463.html