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
Answer by James D. ·
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.
Answer by Anoh B. ·
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
Answer by James D. ·
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.
Answer by Anoh B. ·
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
JANUARY 15, 3:00 PM GMT / 10:00 AM ET