Solution: The lost time

The answer is network latency.

Many thanks to my commentators who are of course totally correct. Since the SQL commands are fast enough, the problem must be elsewhere.

The supposed idle wait events sql * net message from client should stand out in the trace. A look at the trace result confirmed the hypothesis.

At a class by Craig Shallahammer I had learned that the network with a simple ping to test the latency. Our experiments showed fast that you could explain the time difference fairly well by the formular “number of database calls * time for a Ping * 2”.  I concluded that each database results in two network transfers. I suspect that the second one is an aknowledge but I have never double checked it.

To solve the problem in the short term it was necessary to reduce the network latency. At that time, only Citrix was the only possible technical solution. In the long term, it was necessary (to save the Citrix license ) to reduce the number of database calls by combing them into joins. (How it should have been done right from start.)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s