This post is more than 5 years old
337 Posts
0
3329
Pool Connection loss leads to high CPU utilization
Hi all
I have noticed that our applications ApplicationAudit and AdvancedRecovery generate a high CPU utilization after the connection to the pool has been lost.
Are there any best practices on how to handle this? The threads themself do not seem to re-connect or anything. Hints and suggestions are appreciated.
Our development environment is .NET in CSharp using SDK 3.2SP4 and CentraStar 4.0.2.
Thanks a lot, Holger
gstuartemc
417 Posts
0
December 9th, 2009 01:00
Are you using C / C++ / Java?
If it is either of the latter I would suggest building a singleton class to wrap the FPPool object. Within this class you would have static Instance and Invalidate methods. Elsewhere in the code you would obtain the FPPool reference using the Instance method (which would create a new one if a connection string is supplied as a parameter or the existing one is marked as invalid). Similarly, if you received an error related to the connection you would call the Invalidate method (which could optionally create a new connection).
Things are not as easy in C as you have to pass a structure containing the relevant details into each thread's user data, but it can still be modelled in this way using function pointers.
gstuartemc
417 Posts
0
December 8th, 2009 02:00
holgerjakob_c0722c
337 Posts
0
December 8th, 2009 05:00
Hi Graham
It seems that the thread pool are having troubles giving the errors back to the process who feeds the queue and maintains the global pool connection. Any idea on how to improve this?
Thanks, Holger
gstuartemc
417 Posts
0
December 9th, 2009 02:00
Indeed you are - you mentioned that in the first part of the post. Doh!
C# should follow the C++ / Java recommendation.
holgerjakob_c0722c
337 Posts
0
December 9th, 2009 02:00
Hi Graham
I'll pass your suggestions on to the developer. We are using C-Sharp in our .NET environment to code.
Best regards, Holger