473,322 Members | 1,425 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

# of pooled connections seem too high

Bob
We have a production web site that's data intensive (save user input to DB
and query for displaying) with the ASP.NET app part on one W2K server and
SQL 2000 DB on another W2K server. I have set up performance logs to log #
of pooled database connections on the web server every 60 seconds (.NET CLR
Data(_global_)\SqlClient: Current # pooled connections). The # of
connections is constantly higher than the # of active ASP.NET sessions.
E.g. right now there are 25 connections and 18 active session. Is this
normal? I would think the # of pooled DB connections shouldn't be higher
than the # of active sessions since the connections in the pool are shared
and user certain pauses between loading pages and entering data.

Last year during peak usage when the # of active sessions got around 180 and
# of connections peaked at around 150, the SQL Server experienced deadlock
as too many processes were waiting for one another. User experience was
very bad during that period needless to say. We redesigned the data layer
and made very sure that every call to the database closes the connection
explicitly. So I'm concerned that the effort didn't resolve anything and am
afraid the same problem would happen again. All the calls to the database
are straightforward, no transactions involved.

Could anyone point out what the potential problems we might have?

Thanks a lot
Bob
Nov 19 '05 #1
2 2103
There is often some lagtime. The connections aren't governed by the number
of active sessions.They're basically up to their own garbage collection
routines. It's actually more efficient a lot of the time to avoid closing
down a collection immediately and instead have it ready for the next
request. The opening and closing of connections can be expensive so the
algorithms attempt to optimize this.

Hope this helps,
Mark Fitzpatrick
Microsoft MVP - FrontPage

" Bob" <bo*******@yahoo.com> wrote in message
news:OZ**************@TK2MSFTNGP10.phx.gbl...
We have a production web site that's data intensive (save user input to DB
and query for displaying) with the ASP.NET app part on one W2K server and
SQL 2000 DB on another W2K server. I have set up performance logs to log
#
of pooled database connections on the web server every 60 seconds (.NET
CLR
Data(_global_)\SqlClient: Current # pooled connections). The # of
connections is constantly higher than the # of active ASP.NET sessions.
E.g. right now there are 25 connections and 18 active session. Is this
normal? I would think the # of pooled DB connections shouldn't be higher
than the # of active sessions since the connections in the pool are shared
and user certain pauses between loading pages and entering data.

Last year during peak usage when the # of active sessions got around 180
and
# of connections peaked at around 150, the SQL Server experienced deadlock
as too many processes were waiting for one another. User experience was
very bad during that period needless to say. We redesigned the data layer
and made very sure that every call to the database closes the connection
explicitly. So I'm concerned that the effort didn't resolve anything and
am
afraid the same problem would happen again. All the calls to the database
are straightforward, no transactions involved.

Could anyone point out what the potential problems we might have?

Thanks a lot
Bob

Nov 19 '05 #2
That sounds like a lot of connections for a small ammount of users...
The .NET CLR performance counters are not something that you can rely on,
unfortunately they accumulate due to a bug that we just can't fix. Can you
verify the number of connections on the Server? (using the server side
performance counters or the appropriate stored procedures)

What I would be most scared of is connections being leaked, but you
specified that you are explicitly closing the connection. I assume that you
are using the "using" statement or a "finally" clause right? otherwise leaks
may still happen.

Would it be possible to post the connection string keywords you are using
(no database/password of course).
Thanks,
--
Angel Saenz-Badillos [MS] Managed Providers
This posting is provided "AS IS", with no warranties, and confers no
rights.Please do not send email directly to this alias.
This alias is for newsgroup purposes only.
I am now blogging about ADO.NET: http://weblogs.asp.net/angelsb/


" Bob" <bo*******@yahoo.com> wrote in message
news:OZ**************@TK2MSFTNGP10.phx.gbl...
We have a production web site that's data intensive (save user input to DB
and query for displaying) with the ASP.NET app part on one W2K server and
SQL 2000 DB on another W2K server. I have set up performance logs to log # of pooled database connections on the web server every 60 seconds (.NET CLR Data(_global_)\SqlClient: Current # pooled connections). The # of
connections is constantly higher than the # of active ASP.NET sessions.
E.g. right now there are 25 connections and 18 active session. Is this
normal? I would think the # of pooled DB connections shouldn't be higher
than the # of active sessions since the connections in the pool are shared
and user certain pauses between loading pages and entering data.

Last year during peak usage when the # of active sessions got around 180 and # of connections peaked at around 150, the SQL Server experienced deadlock
as too many processes were waiting for one another. User experience was
very bad during that period needless to say. We redesigned the data layer
and made very sure that every call to the database closes the connection
explicitly. So I'm concerned that the effort didn't resolve anything and am afraid the same problem would happen again. All the calls to the database
are straightforward, no transactions involved.

Could anyone point out what the potential problems we might have?

Thanks a lot
Bob

Nov 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Mudge | last post by:
Hi, My hosting provider only allows me to use 50 connections to my MySQL database that my Web site will use. I don't know what this 50 connections means exactly. Does this mean that only 50...
0
by: LBS | last post by:
Hi hope someone can solve this one, I'm using a JNDI datasource to create pooled connections to a 9i DB. In my Java code I'm using an OracleConnectionCacheImpl to attache to this. My problem is...
3
by: john bailo | last post by:
SqlConnection.Open, from a web application, threw: /Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled...
3
by: User N | last post by:
I'm working on a proxy which must support at least a dozen simultaneous connections from local clients to remote servers. It is conceivable that someone might want to run it in non-local mode,...
2
by: dotNET Developer | last post by:
If this forum is the wrong place to discuss this issue please point me to the right forum... We have an ASP.NET application (InterNet app) originally written in .NET 1.0 running for about 2...
4
by: Guoqi Zheng | last post by:
Dear sir, I keep getting the following errors on one of my sites after clicking for many times. Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This...
3
by: =?Utf-8?B?RFNJU3VwcG9ydA==?= | last post by:
I have an ASP.NET application runinng on IIS 5 .NET 1.1 Sp1 and recently we've been experiencing this error when the users are trying to print reports that connects to Oracle database. The only way...
1
by: Allan Ebdrup | last post by:
I have a web application (ASP.Net V2) that fetches stuff from the database. I've created a test project in Visual Studio 2005. In the webtest I fetch data from some webservices that query the...
1
by: jobs | last post by:
Re: Troubleshooting Timeout expired. All pooled connections were in use and max pool size was reached. New webservers. win2003. IIS6. asp.net 2.0/ sql server 2005 and Oracle 9i through a 64 bit...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.