dotTrace boosts my asp.net server performance.

Hi,

I attached the dotTrace samping profileing type to a w3wp IIS process that is hosting an asp.net 4.6.2 API.

response time without dotTrace: ~ 250ms

response time with dotTrace: ~ 150ms … WTF!?

I double checked the issue together with a co-worker. But every time dotTrace is connected, the performance is better.

What does the sampling tracker do? I want to have this in my code!!

Greetings

0
3 comments

Hi Benjamin,

The profiler can speed up some code for a variety of reasons. We can't say exactly why it affects your application this way, but we can try to perform some investigations. 

Do you attach profiler to your application or start your application under profiling from the beginning?

If you start your app under profiling from the beginning, could you please compare response time with an attach mode.  To do this, please perform the following:

- Attach profiler to your process using “Running Process” list

- Perform necessary actions to measure response time

- Run IIS profiling as you did in the previous case

- Perform the same actions and measure response time, compare this time with time without profiler

Do you experience the same performance improvement in “Attach” mode?

As you've mentioned, you use “Sampling” profiling mode. Could you please also perform the same measurements for “Timeline” profiling mode? Is this performance improvement also actual for the  “Timeline”?

 

0

Hi,

The w3wp process is managed by the IIS. I don't know if it's possible to start it from the profiler. 

I allways attach to the running process from the running list.

  • detached: original performance
  • attached but not started: original performance
  • attached and started: boosted performance

It only works in the Sampling profiling mode. Timeline does not change the response time.

Here the video proof: https://drive.smuddy.net/s/ZP8bKkPaM2azLiM

PS:

in timeline profile, I can identify all functions in the code, but in sampling profile I can only see native system calls. 

Does dotTrace do some kind of AOT Compiling? Its just a guess and AFAIK is AOT Compiling coming with dotnetcore. This is still good old .NET 4.x Code.

0

Hi,

Thank you for information.

May we ask you for a remote debugging session? Our developer will connect to your machine and try to find out the cause of this behavior. All the operations we perform will be under your full control.
If you are interested, please submit a private request to our support system and specify “dotTrace” product with a link to this topic in description.

 

 

 

0

Please sign in to leave a comment.