Apparently, when a 12.0.1.3298 web service connection in the pool is reused for repeated invocations of the same web service, a new connection number is assigned but connection-level properties like ApproximateCPUTime are accumulated across the different connection numbers:

                         connection number        
                         |    web service user id         
                         |    |         ApproximateCPUTime
                         |    |         |
                         V    V         V
2012-07-04 08:06:28.335  79   DBA_menu  50.264986
2012-07-04 08:06:37.619  79   DBA_menu  51.139994
2012-07-04 08:06:47.564  81   DBA_menu  53.452595
2012-07-04 08:06:57.474  83   DBA_menu  54.483866
2012-07-04 08:07:07.448  85   DBA_menu  56.874496
2012-07-04 08:07:17.390  87   DBA_menu  57.890099
2012-07-04 08:07:27.678  89   DBA_menu  60.218163
2012-07-04 08:07:37.374  89   DBA_menu  60.218163
2012-07-04 08:07:47.425  91   DBA_menu  61.233766
2012-07-04 08:07:57.467  93   DBA_menu  63.343206
2012-07-04 08:08:07.453  95   DBA_menu  64.343245
2012-07-04 08:08:17.560  97   DBA_menu  65.905766
2012-07-04 08:08:27.689  99   DBA_menu  66.921370
2012-07-04 08:08:37.575  101  DBA_menu  67.936973
2012-07-04 08:08:47.654  103  DBA_menu  68.358861
2012-07-04 08:08:57.542  103  DBA_menu  69.046374
2012-07-04 08:09:07.549  105  DBA_menu  70.046310

How do I associate the different connection numbers with one another when calculating increases in ApproximateCPUTime?

Or... am I nuts? :)

asked 04 Jul '12, 08:56

Breck%20Carter's gravatar image

Breck Carter
32.5k5417261050
accept rate: 20%


The connection numbers are expected to increase (pooling attempts to avoid changing behavior as much as possible, although option values are not cleared when reusing a HTTP/HTTPS connection for performance reasons).

The ApproximateCPUTime value should have only been for the single HTTP request (just like it would have been if the connection was not pooled). This has been fixed by engineering issue 713914.

Are there other connection properties that are "accumulated across the different connection numbers"?

permanent link

answered 10 Jul '12, 12:24

Ian%20McHardy's gravatar image

Ian McHardy
3.4k23557
accept rate: 40%

Thanks!

I will have a look at the properties Foxhound cares about, let you know one way or the other about each.

(10 Jul '12, 12:54) Breck Carter

Ian: Only one more suspicious property to report: LoginTime remains constant, and (probably) dates back to the moment of the first call to the web service; see below.

HOWEVER, my investigation was inadequate for several reasons:

  • Most property values remain zero so it's impossible to tell if they are accumulating,

  • other property values remain constant and it's impossible to tell if that's OK or not (e.g., QueryOptimized = 26 and QueryReused = 107), and

  • Foxhound doesn't gather all connection properties.

                         connection number        
                         |     web service user id         
                         |     |         ApproximateCPUTime
                         |     |         |           LoginTime
                         |     |         |           |
                         V     V         V           V
2012-07-10 17:47:42.260  2411  DBA_menu  238.705971  2012-07-10 14:23:22.466000
2012-07-10 17:47:50.784  2411  DBA_menu  238.705971  2012-07-10 14:23:22.466000
2012-07-10 17:48:00.878  2413  DBA_menu  238.846566  2012-07-10 14:23:22.466000
2012-07-10 17:48:10.895  2415  DBA_menu  239.002829  2012-07-10 14:23:22.466000
2012-07-10 17:48:20.991  2417  DBA_menu  239.159091  2012-07-10 14:23:22.466000
2012-07-10 17:48:30.915  2427  DBA_menu  239.690445  2012-07-10 14:23:22.466000
2012-07-10 17:48:40.961  2431  DBA_menu  239.940506  2012-07-10 14:23:22.466000
2012-07-10 17:48:50.895  2433  DBA_menu  240.174899  2012-07-10 14:23:22.466000
2012-07-10 17:49:00.904  2435  DBA_menu  240.393626  2012-07-10 14:23:22.466000
2012-07-10 17:49:10.937  2439  DBA_menu  241.049805  2012-07-10 14:23:22.466000
2012-07-10 17:49:20.945  2445  DBA_menu  241.581056  2012-07-10 14:23:22.466000
2012-07-10 17:49:30.864  2451  DBA_menu  242.034278  2012-07-10 14:23:22.466000
2012-07-10 17:49:40.853  2457  DBA_menu  242.846618  2012-07-10 14:23:22.466000
2012-07-10 17:49:50.878  2463  DBA_menu  243.299738  2012-07-10 14:23:22.466000
(10 Jul '12, 18:10) Breck Carter
Replies hidden
1

Ian: Would you like me to do a thorough investigation?

Please say, "No, that's our responsibility, and we can look at the code." :)

(10 Jul '12, 18:12) Breck Carter
1

I have also fixed connection_property( 'LoginTime' ) so it is reset when the connection is reused and included it with engineering issue 713914. As far as I know, other properties should already get reset when a pooled connection is being reused. I asked if there were others because of the way you asked the question implied you may have seen others.

(11 Jul '12, 09:55) Ian McHardy

the way you asked the question implied you may have seen others

Oops, sorry... at that point I thought the behavior was intended so I assumed it would apply to other properties as well. It's hard to tell from the end result (actual property values) where they came from; i.e., when you're standing in a septic tank (the end results) it's hard to tell the steak from the potatoes (where it came from).

No offense intended, however... just an analogy to demonstrate that when f(x) = y, knowing y sometimes tells you very little about x :)

(11 Jul '12, 10:22) Breck Carter
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×275

question asked: 04 Jul '12, 08:56

question was seen: 1,590 times

last updated: 11 Jul '12, 10:22