简体   繁体   中英

Anyone know of a good C# code Profiler / Analizer to help optimize a webservice

I have a webservice that is in much need of some optimization. It's on an enterprise application the resides on a virtual server machine and is getting a huge bottle neck. I'm confident in my skills and being able to make this more efficient, but I was wondering if anyone out there has had a good experience with a profiler or optimization tool that would help point me to trouble spots.

The webservices main function is to generate PDFs which are created using Sql Reports and a third party PDF Writer utility. Basically it gets an ID and creates X number of PDFs based on number of Forms that are associated to that ID. So it has a loop which can run an average of 8 times / ID, and there are thousands of IDs sent daily. Needless to say there is always a back log of PDFs to be created, which the client would rather not see.

I have also thought about running multi-threads to asynchronously generate the PDF pages but I'm hesitant because they said they had issues with multi-threading on the "Virtual Server". So if anyone can point me to a good tutorial or advise about multi-threading on a Virtual Server I would appreciate that too.

Thanks for any help you can give.

I've used this one before and it's great:

JetBrains dotTrace

http://www.jetbrains.com/profiler/whatsnew/

Try Telerik's JustTrace , it has alot of neat stuff. It has 60 days free trial with support, so you can try it out first.

Fast Profiling

JustTrace aims to redefine fast memory and performance profiling. It adds minimal overhead to the profiled application, allows near seamless execution, and enables analysis-in-place, thus eliminating the need to move the application from its environment. The user can examine different stages of the application's behavior by swiftly taking multiple snapshots throughout its lifetime.

Made-to-Measure Profiling

JustTrace offers three distinct profilers – Sampling, Memory and Tracing – to meet even the most demanding profiling requirements.

Profiling of Already Running Processes

JustTrace allows for unobtrusive attaching to live processes. Should an application start experiencing higher memory or CPU consumption, analysis on its state gives the opportunity to handle scenarios that are otherwise hard to reproduce.

Simple yet Intuitive UI

By definition, a memory and performance profiling tool should enable you to speed up the performance of your apps without slowing you down or getting into your way. JustTrace employs a minimalistic yet highly intuitive user interface that allows for easy navigation of the performance and memory results. A few effortless steps take you from choosing the application being profiled to an in-depth analysis of the profiling insights made by JustTrace. Memory and performance profiling has never been easier.

Live Profiling

JustTrace enables real-time monitoring of the application's execution. The close-up watching of the application's behavior brings out potential performance bottlenecks to the surface, and provides reliable hints of the application's stages that are worth investigating.

Stand-alone Tool and Seamless Visual Studio Integration

JustTrace offers seamless integration with Visual Studio and can also be used as a stand-alone tool. The integration of JustTrace into Visual Studio's UI removes a burdensome step by cutting the time needed to jump between the development environment and the tool to test the resulting memory and CPU utilization improvements. Simply modify the code, then run it through the Visual Studio UI and get JustTrace's core capabilities in a single tool window.

Profiling of Multiple Application Types

JustTrace enables the profiling of local applications, running applications, Silverlight applications and local ASP .NET web site.

I would suggest taking a look at ANTS Memory & Performance Profiler from Red Gate:

The ANTS profilers do a fantastic job of identifying bottlenecks and memory leaks. They're not free, but they're very affordable and offer fully functional trials so you can evaluate the products.

There are other profilers: ANTS: http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

Which can also profile SQL calls. They also have an EAP open at the moment which gives you more functionality for database calls, that is here: http://help.red-gate.com/help/ANTSPerformanceProfiler/download_eap.html

There is YourKit: http://www.yourkit.com/

Visual Studio has a profiler too but not as good.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM