What is the capacity of an ASP-Access app?
am 18.04.2006 23:25:01 von cb
I have an ASP web application with an Access database back-end (configured as
a system DSN, using ODBC and ADO, fairly typical I think.) Lately it has
been slowing to a crawl, taking 30-60 seconds to process requests that
usually take a second or two. The only other symptom I can find is the
appearance of ASP_0147 error entries in the server log. The problem occurs
unpredictably.
The system is lightly loaded -- never more than four or five simultaneous
users -- but it does involve a lot of database interactions. I wondered what
was the capacity of this type of system.
A typical page request might require 6-10 recordsets and 4-8 record
insertions or deletions using the execute command. A demanding page (5% of
the total) might require 100 recordsets and 40 insertions/deletions. The
system might receive at most 20 typical page requests, or 10 typical and 2-3
demanding requests per minute. It would top out about 500 recordsets per
minute, or an average of eight per second. (At the level of CPU and memory,
the machine always has extra capacity. When working well, it processes even
a demanding page in a second or two.)
Could this sort of load be choking some component in the type of application
described? If so, would the choking occur in the ASP scripting engine, or in
ODBC, or in the Access database engine? How would I tell?
Additional note
am 18.04.2006 23:57:01 von cb
All recordsets in the application use forward-only cursors, and are closed
fairly quickly. Most are sucked into arrays with GetRows. The code creates
only one recordset object which is continuously reused; there are never two
record sets open at the same time for a given user.
Re: Additional note
am 19.04.2006 00:23:47 von reb01501
CB wrote:
> All recordsets in the application use forward-only cursors, and are
> closed fairly quickly. Most are sucked into arrays with GetRows.
> The code creates only one recordset object which is continuously
> reused; there are never two record sets open at the same time for a
> given user.
It sounds as if you are doing things correctly. With the load you've
described, I doubt that Access is the problem.
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Re: Additional note
am 24.04.2006 18:54:23 von Drew
I have seen weird issues with Access when a lot of records have been
deleted... you may try a Compact/Repair to try to speed it up!
Drew
"Bob Barrows [MVP]" wrote in message
news:uBWe%23azYGHA.3448@TK2MSFTNGP04.phx.gbl...
> CB wrote:
>> All recordsets in the application use forward-only cursors, and are
>> closed fairly quickly. Most are sucked into arrays with GetRows.
>> The code creates only one recordset object which is continuously
>> reused; there are never two record sets open at the same time for a
>> given user.
>
> It sounds as if you are doing things correctly. With the load you've
> described, I doubt that Access is the problem.
> --
> Microsoft MVP - ASP/ASP.NET
> Please reply to the newsgroup. This email account is my spam trap so I
> don't check it very often. If you must reply off-line, then remove the
> "NO SPAM"
>