Troubleshooting Performance SDEIntercept Log

3797
4
10-15-2013 10:51 AM
TimDine
Occasional Contributor II
I am troubleshooting some poor performance and am starting witht the SDEIntercept log.  I've been parsing that and have been looking for time delays and the command before and after that delay.  The typical situation I am seeing with 1s or longer delays between commands is pairs of 'CloseStream' and 'StreamSetState' commands.  What do these commands do?  Is there a problem that is typical of these commands taking a long time between them?  Is there something other than long delays between commands that I should be looking for in that log?

Thanks!
0 Kudos
4 Replies
VinceAngelo
Esri Esteemed Contributor
SE_stream_close closes a stream session.  It commits the current transaction, so it's expected
to take a while to return, though it really depends on what the stream has been doing before
you could determine if one second was slow.

I prefer to use the SDETRACE environment, which captures the session at the ArcSDE API
level (between client and server), vice the SDEINTERCEPT environment, which captures
interaction between the server and the database.

- V
0 Kudos
MarcoBoeringa
MVP Regular Contributor
I prefer to use the SDETRACE environment, which captures the session at the ArcSDE API
level (between client and server), vice the SDEINTERCEPT environment, which captures
interaction between the server and the database.


You may find the following link from GIS StackExchange useful to better understand what Vince means with above quote. Especially have a look at the remark by Travis:

How to trace SQL queries sent by ArcGIS Server (ArcSDE) to Oracle database?
http://gis.stackexchange.com/questions/61776/how-to-trace-sql-queries-sent-by-arcgis-server-arcsde-t...

And possibly this ESRI Blog and Knowledgebase article (*warning*, depending also on your browser settings, right clicking the Blog link may not take you to the Blog article itself but the main index, use left click instead):
Blog: Why should I be making direct connections to an ArcSDE geodatabase?
Knowledgebase: HowTo:  Diagnose ArcSDE connection and performance issues using SDEINTERCEPT
0 Kudos
VinceAngelo
Esri Esteemed Contributor
Except that the diagram is wrong.  It should look like this:

Client (ArcObject, ArcCatalog, ArcGIS Server, ArcIMS...)
      |
      |--------> Application-level debugging and logging
     \|/
ArcSDE Client API
      |
      |--------> SDE Trace
     \|/
ArcSDE Server --> ArcSDE Service Logfile, or direct connect log
      |
      |--------> SDE Intercept
     \|/
DBMS-----------> DBMS logfiles or trace       


- V
0 Kudos
MarcoBoeringa
MVP Regular Contributor
Except that the diagram is wrong.  It should look like this:

Client (ArcObject, ArcCatalog, ArcGIS Server, ArcIMS...)
      |
      |--------> Application-level debugging and logging
     \|/
ArcSDE Client API
      |
      |--------> SDE Trace
     \|/
ArcSDE Server --> ArcSDE Service Logfile, or direct connect log
      |
      |--------> SDE Intercept
     \|/
DBMS-----------> DBMS logfiles or trace       


- V


OK, thanks for the important correction. Actually, I was already slightly confused about the positions of the SDE Trace and SDE Intercept in the diagram, but your corrections, including adding "API" to the ArcSDE Client API component of the diagram, clarifies it.
0 Kudos