ANTS Performance Profiler 8:支持对Web请求、异步代码和WinRT的性能剖析

下载与激活:http://download.csdn.net/detail/lone112/6734291 离线激活

位于英国的Red Gate Software有限公司最近发布了ANTS Performance Profiler 8 Beta,支持对Web请求、异步代码和Windows商店应用的性能剖析。该版本还支持SharePoint 2013和一个新的时间线,这使开发者不但能够监控应用程序的性能,还能深入到想要检查的具体区域。

Web请求剖析使开发者能够捕获向外的HTTP请求,其中包括请求和响应的头信息。最新的版本还能剖析用C#VB编写的Windows商店应用。此外,如果使用JavaScript、HTML5和C++,也能监控托管代码的状态。

最新的beta版以这样的方式进行了更新,可以更快速地启动剖析会话,用户也得以快速获得结果。而且开发者能够使用任何浏览器来剖析IIS、IIS Express和Web Dev Server上的ASP.NET网站。

InfoQ采访了Red Gate Software公司.NET工具部门的产品营销经理Ben Emmett,希望了解ANTS Performance Profiler 8 Beta的更多信息。

InfoQ:ANTS Performance Profiler用于什么用途?

ANTS Performance Profiler能够显示出性能瓶颈,让开发者理解并改进.NET应用程序的性能。它设计用于开发过程的任何阶段,既能作为例行检查的一部分来保证可接受的性能,也能用于发现活跃代码中急需解决的性能问题。

InfoQ:ANTS Performance Profiler与其他竞争产品有何不同?

最难解决的性能问题往往不孤立存在于应用程序的某一部分,相反它是系统不同部分相互作用的结果。ANTS Performance Profiler是唯一能够显示代码相关数据存取请求(数据库、HTTP和文件I/O)的.NET工具。利用该工具,可以简单地跟踪过多的请求,或者过多的长请求,并返回到导致这些请求的源代码。这对理解与ORM有关的性能问题特别有用,而且它提供了一定程度的理解,否则需要使用4个独立工具。

ANTS Performance Profiler对获得结果的速度也有严格要求。用户告诉了我们诊断性能问题时的最关键信息,因此为了更简单地表现这些信息,我们在新版本中重构了大部分接口。最糟糕的是,性能剖析就像打开一层套一层的放虫子的盒子那么麻烦,但不管潜在问题是简单还是复杂,ANTS Performance Profiler都能给出清晰、有意义的结果。

InfoQ:如果使用了ANTS Performance Profiler 8,应用程序就会有性能改进吗?

大多数用户都得到了重大性能改进,我们经常听到用户说他们的代码速度提升了几个数量级。当然,精确的获益情况依赖于应用,但要找到一点好处都没得到的软件可是相当困难的。

InfoQ:剖析Windows商店应用有何必要性?

速度对任何应用程序都很重要,尤其对Windows 商店应用而言,快速响应的UI非常重要,而且低效的应用会非常耗电。

因此,微软对Windows商店应用有严格的性能要求,不满足性能要求很可能会被Windows商店拒绝。包括限制应用后台使用处理器的时间(每2个小时只能使用1秒CPU时间),应用启动时间限制为5秒,还会杀掉任何阻塞UI线程超出50毫秒的应用。

要避免与这些限制产生冲突,唯一的方式就是理解应用的性能,而剖析又是理解应用性能的最佳手段。

InfoQ:剖析Web请求和异步代码有什么好处?

C#5中的Async/Await关键字简化了异步代码的编写,但理解代码在背后是如何运行的实际仍很困难。其他剖析器只显示CLR在后台为异步方法创建的底层状态机。我们很难把异步方法中完成的工作和引起它运行的方法关联起来。ANTS Performance Profiler可以给出与编写的代码直接相关的结果,而非强迫用户理解Async背后的实现。

Web请求剖析能够显示出应用程序是如何与其他Web服务器交互的。开发者可以快速识别出长期运行的、重复的或失败的请求,也可以看到关于这些请求的本质的信息。数据存取是导致性能瓶颈的常见且越来越严重的原因,我们的工具更大 的策略就是向开发者展示他们所需要知道的关于数据存取的一切信息,Web请求剖析也是该策略的一部分。

InfoQ:能否在Visual Studio 2012中使用ANTS Performance Profiler?

ANTS Performance Profiler是独立的工具。丰富的UI——特别是性能时间线——意味着它不适合在Visual Studio内运行,但大部分开发者喜欢更多的功能。所以我们提供了一个VS扩展,可以基于Visual Studio内的项目设置自动配置并启动剖析会话。

InfoQ:你能否透露一下ANTS Performance Profiler未来的路线图?

我们打算三月份发布第8版。之后我们会继续努力,并特别改进对Web开发者的支持。我们也会对它的姐妹工具ANTS Memory Profiler做出一些大的改进。

查看英文原文ANTS Performance Profiler 8: Web request, Async code, WinRT

时间: 2025-01-05 05:32:24

ANTS Performance Profiler 8:支持对Web请求、异步代码和WinRT的性能剖析的相关文章

超级简单实用的.NET性能调试工具-----ANTS Performance Profiler

艺术字做到后期,性能成了一个比较大的瓶颈,优化性能的过程中接触了一些.NET性能调试工具,最喜欢的是ANTS Performance Profiler,操作简单,功能也跟我期望的差不多. ANTS Performance Profiler是出自大名鼎鼎的Red Gate,很多人使用过的.NET Reflector就是出自此公司,该公司还出品其他产品,具体请戳http://www.red-gate.com/products/.ANTS Performance Profiler支持.NET平台所有语

使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题

一.前言 最近一段时间,网站经常出现两个问题: 1.内存占用率一点点增高,直到将服务器内存占满. 2.访问某个页面时,页面响应过慢,CPU居高不下. 初步判断内存一点点增多可能是因为有未释放的资源一直在占用内存,而cpu居高不下可能是因为执行了耗时的操作. 下面我们就使用ANTS Performance Profiler和ANTS Memory Profiler这两个工具来分析具体原因. ------------------------------------------------------

自己实现简单Web服务器,支持GET POST请求

最近项目上遇到一个需求,最后想到的解决方案是自己实现一个web服务器去处理请求,然后再将信息发送到另外一个程序.然后返回处理之后的结果呈现出来. 现在我就来分享一下如何实现的. 通过.NET 为我们提供的HttpListener类实现对Http协议的处理,实现简单的web服务器. 注意:此类在 .NET Framework 2.0 版中是新增的.所以支持.NET Framework 2.0以上版本.该类仅在运行 Windows XP SP2 或 Windows Server 2003 操作系统的

Web请求中同步与异步的区别

普通的B/S模式就是同步,而AJAX技术就是异步,当然XMLHttpReques有同步的选项. 同步:提交请求->等待服务器处理->处理完毕返回.这个期间客户端浏览器不能干任何事. 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕. 举个生动的例子吧: 同步就是你叫我去吃饭,我听到了就和你去吃饭:如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭. 异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭. 所以,要

Spring Boot如何让某个Controller支持跨源请求,以及如何让Controller类某个成员方法支持跨源请求

在前面我们已经讨论了Spring Boot 如何全局支持跨源请求.如果你想了解可以查看这篇文章 下面我们讨论另一种场景.有些时候,你需要让你的应用在大部分的时候,仅仅支持当前域名下的请求.而仅仅在极其特殊的几个场合下,才支持跨源请求.这个时候,你需要把跨源请求仅仅缩小在几个Controller上,或者Controller类的几个成员方法上.这个时候你需要用到如下的注解:@CrossOrigin(origins = "*", maxAge = 3600) .把这个注解放到 Control

后台web请求代码(含https,json提交)

后台web请求 namespace XXXX.Utilites { using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; publi

web请求过程

1 B/S网络架构概述 当一个用户在浏览器输入URL:www.google.com时,将会发生如下操作: 1.浏览器请求DNS把域名解析成对应的IP地址: 2.根据IP地址在互联网上找到对应的服务器,建立Socket连接,向这个服务器发起一个HTTP Get请求: 3.负载均衡设备平均分配所有用户的请求给具体的某台服务器: 4.还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里: 5.当数据返回浏览器时,浏览器向CDN发起另外的HTTP请求获取静态资源(如:css,js或者图片

利用java servlet实现简单的web请求过滤和跳转

今日有两个微信web项目合并了,但是还有些链接指向废弃的项目,另外不想在服务器上运行两份相同web项目(1.影响性能.2.维护升级容易出错),因此决定写一个简单链接跳转的项目,spring的filter过滤器可以实现,但想想spring干这个有点大材小用,想到java的servlet可以支持通配符,因此用servlet写了一个简单的跳转程序,总共花了不到一小时的时间.废话少说上代码: 1 /** 2 * Servlet implementation class Default 3 */ 4 @W

安全的复杂之处:安全web请求的架构

目录[-] 借助于Spring Security的强大基础配置功能以及内置的认证功能,我们在前面讲述的三步配置是很快就能完成的:它们的使用是通过添加auto-config属性和http元素实现的. 请求是怎样被处理的? 在auto-config场景下,发生了什么事情? 用户是怎样认证的? 让我们看一下在较高层次示意图中反映出的抽象工作流程,并将其细化到这个基于表单认证的具体实现.你可以看到UsernamePasswordAuthenticationFilter负责(通过代理从它的抽象父类中)创建