• Forums
    • Public Forums
      • Community Connect
      • Dynatrace
        • Dynatrace Open Q&A
      • Application Monitoring & UEM
        • AppMon & UEM Open Q&A
      • Network Application Monitoring
        • NAM Open Q&A
  • Home /
  • Public Forums /
  • Application Monitoring & UEM /
  • AppMon & UEM Open Q&A /
avatar image
Question by Anoh B. · Nov 20, 2014 at 10:59 AM ·

System.Web.Hosting.UnsafeIISMethods

Hello,

 

I need help understanding what I am seeing in the Purepaths tree of the application that I am currently monitory  I see a lot of the method "MgdSyncReadRequest(System.IntPtr, System.Byte[], int, int, System.Int32&, uint)" from the class "System.Web.Hosting.UnsafeIISMethods".  What does it do and what is "UnsafeIISMethods"?  I tried in vain to find a satisfactory answer thru Google.  The Purepaths that use it are performing very poorly.UnsafeIISMethods.zip

I have attached a copy of the session

 

Regards,

Anoh

Comment

People who like this

0 Show 0
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

6 Replies

  • Sort: 
  • Most voted
  • Newest
  • Oldest
avatar image

Answer by Anoh B. · Nov 21, 2014 at 02:03 AM

They’re running .Net 2, 3 and 4 and it is interesting that dynaTrace can pickup only .Net 2.

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

avatar image

Answer by Anoh B. · Nov 21, 2014 at 01:23 AM

Thank you!

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

avatar image

Answer by James D. · Nov 20, 2014 at 11:57 PM

Well, if they are coy about their infrastructure I can understand. However they may not be aware that all of that information is inside of the session file. You should look at the Status Overview dashlet. It will tell you all about the application servers they are using. .NET Version, Windows Version, architecture, whether it's a VM or not.  The list goes on.

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

avatar image

Answer by Anoh B. · Nov 20, 2014 at 10:28 PM

Thank you very much James!  I really appreciate your explanation.  Is webengine.dll the indicator that .NET v2.0 is being used and dynaTrace could show another indicator about the .NET version?  The reason why I am asking is that I am monitoring an application from an outside vendor and they are very coy about their processes.  They will not divulge that information to me.  If dynaTrace could provide me with some insight to highlight the inefficiency of their codes, I would very much appreciate it.

 

Regards,

Anoh

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

avatar image

Answer by James D. · Nov 20, 2014 at 06:56 PM

So, the name UnsafeIISMethods pertains to the fact that these are un-managed methods hiding out in webengine.dll (which is part of .NET v2.0; as I see you're running). They are not unsafe in the sense that they shouldn't be run, just the type of access that is being made against them.

What this method is doing is reading your entity body, or--better put--the request from the user. Specifically the POST body contents.

In the case of /Infrastructure/DocumentManagement/DocManager/Transport/DocTransport.ashx it looks to be reading in some XML.

If you look at a few of the requests you can see where ReadEntityBody() is being called over and over again.

Furthermore if you "show all nodes" for the purepath you can see the call stack has items like:

Method
ReadNextRequestChunkBody()
ReadBody(Byte[], int)
ReadEntityBody(Byte[], int)
ReadEntityBodyWithTimeout(Byte[], int, long)
ReadEntityCoreSync(Byte[], int, int, long)
MgdSyncReadRequest(IntPtr, Byte[], int, int, Int32&, uint)


So, what it looks like is a lot of chunked data is coming over to your web server and it's taking a long time. To me this indicates an issue of the bits not getting to your server fast enough. If it's coming from a slow client that would make sense.

I looked at the network received data for server 3 and lined it up with the PurePath that took 84 seconds (also on server 3) and noticed that a spike coincides with that time frame. So it may not be a case of a slow sender per se, but a very large request.

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

avatar image

Answer by Anoh B. · Nov 20, 2014 at 11:01 AM

I need help understanding what I am seeing in the Purepaths tree of the application that I am currently monitoring  I see a lot of the method "MgdSyncReadRequest(System.IntPtr, System.Byte[], int, int, System.Int32&, uint)" from the class "System.Web.Hosting.UnsafeIISMethods".  What does it do and what is "UnsafeIISMethods"?  I tried in vain to find a satisfactory answer thru Google.  The Purepaths that use it are performing very poorly.UnsafeIISMethods.zip

I have attached a copy of the session

 

Regards,

Anoh

Comment

People who like this

0 Show 0 · Share
10 |2000000 characters needed characters left characters exceeded
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Toggle Comment visibility. Current Visibility: Viewable by all users

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

How to get started

First steps in the forum
Read Community User Guide
Best practices of using forum

NAM 2019 SP5 is available


Check the RHEL support added in the latest NAM service pack.

Learn more

LIVE WEBINAR

"Performance Clinic - Monitoring as a Self Service with Dynatrace"


JANUARY 15, 3:00 PM GMT / 10:00 AM ET

Register here

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Forum Tags

dotnet mobile monitoring load iis 6.5 kubernetes mainframe rest api dashboard framework 7.0 appmon 7 health monitoring adk log monitoring services auto-detection uem webserver test automation license web performance monitoring ios nam probe collector migration mq web services knowledge sharing reports window java hybris javascript appmon sensors good to know extensions search 6.3+ server documentation easytravel web dashboard kibana system profile purelytics docker splunk 6.1 process groups account 7.2 rest dynatrace saas spa guardian appmon administration production user actions postgresql upgrade oneagent measures security Dynatrace Managed transactionflow technologies diagnostics user session monitoring unique users continuous delivery sharing configuration alerting NGINX splitting business transaction client 6.3 installation database scheduler apache mobileapp RUM php dashlet azure purepath agent 7.1 appmonsaas messagebroker nodejs 6.2 android sensor performance warehouse
  • Forums
  • Public Forums
    • Community Connect
    • Dynatrace
      • Dynatrace Open Q&A
    • Application Monitoring & UEM
      • AppMon & UEM Open Q&A
    • Network Application Monitoring
      • NAM Open Q&A