• ASP.NET MVC5 使用MiniProfiler 监控MVC性能


    MiniProfiler ,一个简单而有效的迷你剖析器,可以有效的实时监控页面。通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL。

    1.安装

    首先新建一个 asp.net mvc 项目

    右键项目,管理NuGet程序包。 安装 MiniProfiler.Mvc4和MiniProfiler

    ps:MiniProfiler.MVC4的NuGet包(该MVC4包支持MVC5)

    或者也可以打开程序包管理控制台 输入命令进行安装

    Install-Package MiniProfiler -Version 3.2.0.157
    
    Install-Package MiniProfiler.Mvc4 -Version 3.0.11

    2.将以下内容添加到Application_Start()Global.asax中

    protected void Application_Start()
    {
        ...
        GlobalFilters.Filters.Add(new ProfilingActionFilter());
    
        var copy = ViewEngines.Engines.ToList();
        ViewEngines.Engines.Clear();
        foreach (var item in copy)
        {
            ViewEngines.Engines.Add(new ProfilingViewEngine(item));
        }
    }

    3.将以下内容添加到“Application_BeginRequest()”和“Application_EndRequest()”,也在Global.asax中

    protected void Application_BeginRequest()
    {
        if (Request.IsLocal)
        {
            MiniProfiler.Start();
        }
    }
    
    protected void Application_EndRequest()
    {
        MiniProfiler.Stop();
    }

    4.将以下内容添加到_Layout.cshtml(就在</body>标签之前):

     @StackExchange.Profiling.MiniProfiler.RenderIncludes()
    </body>
    </html>

    5.将以下内容添加到<handlers>Web.config 的部分中:

    <system.webServer>
        ...
        <handlers>
            ...
            <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*"
                 type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified"
                 preCondition="integratedMode" />
            ...
        </handlers>
    </system.webServer>

    如果你在项目中使用了Entity Framework ,那么你可以安装MiniProfiler.EF6软件包,在Application_Start()在Global.asax 结尾添加了以下内容: MiniProfilerEF6.Initialize();

    一个简单的对MVC性能的监控就这样了,其实他还有很多功能,比如说能够通过不同的参数检测并突出显示执行相同查询的区域。这样您就可以快速找到可能批量的查询。

    还可以记录所有的ajax的调用,查看最近100个分析请求的分析信息等。

    结果展示:

    此随笔乃本人原创,如有疑问欢迎在下面评论,转载请标明出处。

    如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

    MiniProfiler 官网:http://miniprofiler.com/

  • 相关阅读:
    Android编译系统环境过程初始化分析【转】
    Android内核开发:理解和掌握repo工具【转】
    QQ空间如何设置被删除的好友不能访问空间
    用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)【转】
    可重入函数与不可重入函数【转】
    关于链表中头指针和头结点的理解【转】
    C语言中static的使用方法【转】
    指针与地址的区别【转】
    柔性数组【转】
    void及void指针介绍【转】
  • 原文地址:https://www.cnblogs.com/huangenai/p/7243816.html
Copyright © 2020-2023  润新知