"Performance Diagnosis" ten, comprehensive analysis of performance problems (case 1,windbg, Network Monitor)

Source: Internet
Author: User
Tags xform

"Problem description":

A business function A in the product, in the "Refresh", select order, and so on a series of operations, such as switching other rows, suddenly occurs when the client does not respond to the phenomenon.

Repeated testing has revealed that it can occur in a single-user scenario, but this problem cannot be reproduced once the client has the Fiddler tool enabled. And after the problem occurs, the dump file of the crawl application server is analyzed, and the thread of the running state is not found.

"Analysis Process":

Based on the problem description of the initial decision reasons in the client or network environment, so decided to use the client crawl dump and network capture at the same time. After the problem is reproduced, crawl the client's dump file, find the client's stack information can be seen, get stream after waiting for the stream to complete. The WinDbg log is as follows:

0: >!clrstack PDB symbol for Clr.dll
Not
loaded OS Thread Id: 0x3bf8 (0 ) Child SP IP
Pager
Site 0030e658 77860159 [
Helpermethodframe_1obj:
0030e658] System.Threading.WaitHandle.WaitOneNative (System.Runtime.InteropServices.SafeHandle, UInt32, Boolean, Boolean) 0030e73c 6f5d56b1 System.Threading.WaitHandle.InternalWaitOne ( System.Runtime.InteropServices.SafeHandle,
Int64  , Boolean, Boolean) 0030e754 6f5d5684 System.Threading.WaitHandle.WaitOne (
Int32
, Boolean)0030e768 6EA04EF5System.Net.LazyAsyncResult.WaitForCompletion (Boolean)0030e798 6ea326ab System.Net.Connection.SubmitRequest (System.Net.HttpWebRequest, Boolean) 0030e7e4 6ea30948 System.Net.ServicePoint.SubmitRequest (System.Net.HttpWebRequest, System.String) 0030e820 6ea30215 System.Net.HttpWebRequest.SubmitRequest (System.Net.ServicePoint) 0030e84c 6ea567d4System.Net.HttpWebRequest.GetRequestStream(System.Net.TransportContext ByRef) 0030e890 6ea5659e System.Net.HttpWebRequest.GetRequestStream () 0030e898 076f30c6 Xxxxxx. Platform.AppFramework.RestfulClientService.HttpRequestNetConnection.Invoke (xxxxxx. Platform.AppFramework.Service.GSPState, System.String, System.String, System.String, Boolean, system.string[]) 0030e90c 076f3044 xxxxxx. Platform.AppFramework.Service.InvokeService.Invoke (xxxxxx. Platform.AppFramework.Service.GSPState, System.String, System.String, System.String, Boolean, system.string[]) 0030e954 1dc33a38 xxxxxx. Platform.XForm.FormWebServiceClient.FormDataAccessServiceProxy.GetObjectXmlByQueryTypeWithParameters ( System.String, System.Object,Int32, System.String ByRef, xxxxxx. Platform.AppFramework.Service.GSPState) 0030e978 1dc33917 xxxxxx. PLATFORM.XFORM.FORMWEBSERVICECLIENT.FORMDATAACCESSSERVICECLIENT.GETOBJECTXML (System.String, System.Object, Xxxxxx. Platform.Engine.DataAccess.ClientSPI.DataQueryType, xxxxxx. Platform.XForm.SPI.TransferState, xxxxxx. Platform.AppFramework.Service.GSPState) 0030e9a0 1dc338c7 xxxxxx. PLATFORM.XFORMENGINE.CORE.RESOURCEFETCHER.GETINSTANCEXML (System.String, System.Object, xxxxxx. Platform.Resource.Metadata.DataModel.ModelView, xxxxxx. Platform.XForm.SPI.TransferState, xxxxxx. Platform.AppFramework.Service.GSPState) 0030e9c4 1eff4b38 xxxxxx. PLATFORM.XFORMENGINE.CORE.RESOURCEFETCHER.GETINSTANCEXML (xxxxxx. Platform.XForm.SPI.DataURI, System.String, xxxxxx. Platform.Resource.Metadata.DataModel.ModelView, xxxxxx. Platform.XForm.SPI.TransferState, xxxxxx. Platform.AppFramework.Service.GSPState) 0030e9ec 1eff1614 xxxxxx. Platform.XFormEngine.MLFC.XFML.DOM.InstanceElement.LoadInstanceData (xxxxxx. Platform.XForm.SPI.DataURI) 0030ea44 1eff0c08 xxxxxx. Platform.XFormEngine.MLFC.XFML.DOM.InstanceElement.LoadData (xxxxxx. Platform.XForm.SPI.DataURI) 0030ea7c 1dc33731 xxxxxx. Platform.XFormController.ModelController.CardModelController.LoadData (System.Data.DataRow, Boolean) 0030eaa0 1dc335d2 xxxxxx. Platform.XFormController.FormController.Basic.TreeController.Tree_SelectedChanged (System.Object, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs) 0030eac0 000bd7a7 [ multicastframe: 
0030eac0] DevExpress.XtraTreeList.FocusedNodeChangedEventHandler.Invoke (System.Object, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs) 0030EAEC 1E06FDFD xxxxxx. Platform.XFormEngine.MLFC.XFML.DOM.TreeElement.OnSelectedNodeChanged ( DevExpress.XtraTreeList.FocusedNodeChangedEventArgs) 0030eb00 1e06fd54 xxxxxx. Platform.XFormEngine.MLFC.XFML.DOM.TreeElement.VisualComponent_FocusedNodeChanged (System.Object, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs) 0030eb14 16434f98 DevExpress.XtraTreeList.TreeList.RaiseFocusedNodeChanged (DevExpress.XtraTreeList.Nodes.TreeListNode, DevExpress.XtraTreeList.Nodes.TreeListNode) 0030EB2C 1dec1c32 DevExpress.XtraTreeList.TreeList.InternalSetFocusedRowIndex (
Int32) 0030eb74 1dec1590 DevExpress.XtraTreeList.TreeList.set_FocusedRowIndex (Int32) 0030eb84 1e05b27e devexpress.xtratreelist.handler.treelisthandler+ Nodepressedstate.changeselection (DevExpress.XtraTreeList.ViewInfo.RowInfo) 0030ebac 1e05b038 Devexpress.xtratreelist.handler.treelisthandler+nodepressedstate.init () 0030ebd0 162dfe7e DevExpress.XtraTreeList.Handler.TreeListHandler.SetControlState (DevExpress.XtraTreeList.TreeListState) 0030EBE0 1e05aeff Devexpress.xtratreelist.handler.treelisthandler+normalstate.onpressnode () 0030ebe4 1e05adc0 Devexpress.xtratreelist.handler.treelisthandler+normalstate.mousedown (System.Windows.Forms.MouseEventArgs, DevExpress.XtraTreeList.TreeListHitTest) 0030ec0c 1e05ac52 DevExpress.XtraTreeList.Handler.TreeListHandler.OnMouseDown (System.Windows.Forms.MouseEventArgs) 0030ec34 1E05ABCA DevExpress.XtraTreeList.TreeList.OnMouseDown (System.Windows.Forms.MouseEventArgs) 0030ec58 557F09BB System.Windows.Forms.Control.WmMouseDown (System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32) 0030ec74 552e57d3 System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message ByRef) 0030ec7816431287[ inlinedcallframe:
0030ec78] 0030ecb8
16431287
DevExpress.XtraEditors.Container.EditorContainer.WndProc (System.Windows.Forms.Message ByRef) 0030ECCC 164311a5 DevExpress.XtraTreeList.TreeList.WndProc (System.Windows.Forms.Message ByRef) 0030ECDC 552e5263 System.windows.forms.control+controlnativewindow.onmessage (System.Windows.Forms.Message ByRef) 0030ece4 552e51e1 System.windows.forms.control+controlnativewindow.wndproc (System.Windows.Forms.Message ByRef) 0030ecf8 552e50f6 System.Windows.Forms.NativeWindow.Callback (INTPTR,
Int32 , IntPtr, IntPtr) 0030ee84 000cd30a [inlinedcallframe:
0030ee84] 0030ee80 5530548c domainboundilstubclass.il_stub_pinvoke (MSG ByRef) 0030ee84 552f6292 [ inlinedcallframe: 0030ee84] System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (MSG ByRef) 0030eeb8 552f6292 system.windows.forms.application+ ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (INTPTR, Int32,
Int32 ) 0030eebc 552f5e6a [inlinedcallframe:
0030eebc] 0030ef44 552f5e6a System.windows.forms.application+threadcontext.runmessageloopinner (
Int32 , System.Windows.Forms.ApplicationContext) 0030ef88 552f5bd0 system.windows.forms.application+ Threadcontext.runmessageloop (Int3255286981
System.Windows.Forms.Application.Run (System.Windows.Forms.Form) 0030efc8 1e72c14f xxxxxx. Platform.AppFrameworkGui.Commands.StartWorkbenchCommand.Run (system.string[]) 0030EFDC 12b8b5d6 * * *
WARNING:
Unable to verify checksum for GSFramework.exe * * * ERROR: Module load completed but symbols Could not
be 70461276[gcframe: 0030f2a0] 

Also open Network Monitor's net grab packet, the result discovers the client last HTTP request contains Invokestream typeface. The contents of the request text include: XXXXXX.TB.ZXYJ.Com.XXXXXX.TB.ZXYJ.Com.TBDYGXCom.AddLB namespace, method, and other information.

The client DLL file is found based on the Code keyword in the request, and reflection views the code content discovery, which invokes the Invokestream stream operation but does not close, causing the client to hang.

"Problem Solving":

Modify the code, use the using or finally close flow operation, test the validation without problems, solve the problem.

"Performance Diagnosis" ten, comprehensive analysis of performance problems (case 1,windbg, Network Monitor)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.