DAAB Slowness issues in production

K

kevin.c

This is somewhat of an odd situation...but to make a long story short:

I built a test web application which inserts X number of records into a
table. It does this via a stored proc, shown here:

CREATE PROCEDURE dbo.spInsertTestData
(
@TestID uniqueidentifier,
@TextData nvarchar(100)
)
AS
SET NOCOUNT ON

INSERT INTO tblTest
(TestID,TextData)
VALUES
(@TestID,@TextData)

-----
fairly simple....Im using two different methods to do the inserts,
creating a SQLConnection and SQLCommand object myself, or letting DAAB
do it.

On my development machine the results of 300 inserts are as follows.
Bare in mind the distance between the development web server and the
SQL server is rather large and these results are acceptable:
Non-Daab: 22.94, 21.65, 21.56 (secs)
DAAB 25.73, 21.91, 21.67 (secs)

Transfering the application to the production servers (where the
distance between the servers is about 6inchs on a gigabit connection):
Non-Daab: .21,.20,.23
DAAB: Timeout......

Dropping the record count to 5 records on the production machine I get
results of
Non-Daab 0,.1,.1
Daab, 4.87,5.63,4.83

DAAB is basicly taking 1 second per insert on the production machine,
but runs at the same speed as the non-daab methods when ran from a
development box. This holds true to running against a test sql server
that is local to the dev machine. Results are all between 0-2 seconds
for doing 300 inserts on both tests. It boils down to something being
different on the production machine that is causing DAAB to run
incredibly slow.

Any ideas?? We are really out of options, lol. The production machines
are faster servers than the test box, yet it runs far far slower. All
of our testing says its something that the DAAB dlls are trying to do
that is very cumbersome to that production machine. However, we cant
see any differences in the setup (between production and development
machines). What is/does daab do under the surface that could be
causing this. We've taken a quick glance at the daab source code, but
cant find anything that sticks out like a sore thumb.

Thank you for your input
 
K

kevin.c

I was able to solve this issue, just in case anyone is having or had
similar issues. DAAB installs something. I dont know what, but when i
moved the code out of the web site and into a windows app, that i ran
on the box as an admin. A command prompt flashed very quickly and DAAB
installed something to some location. Since then both the web site and
the windows app are running at a lightening pace. Im still researching
what the assemlies installed, but i know it works. =)
 
A

Alec MacLean

Hi Kevin,
I don't know exactly what problem was solved by your running the Win-app
version of your code, but it may have been somewhat similar to the problem I
had recently trying to deploy a web-app using DAAB. (See message thread
"DAAB ExecuteReader method causes Exception".)

After posting that query here, I was advised to run the Framework's
command-line tool "InstallUtil" for the DAAB DLL, which solved the issue I
was having. This may have been performed for you automatically by the
Win-app version of your code.

I'm curious - did you do a full install package for that win-form test, or
did you do an xcopy?

Al
 
T

Triax

I'm not sure what the problem is, but I can suggest a reason why running the
Windows app helped the web server...

The Windows app was running under your login credentials, and perhaps you
had administrator priviledges on the server? That allowed the DAAB to do
whatever it needed to do because of the elevated priviledge. My guess is it
wrote something to the registry, possibly for WMI or the performance
counters.

Once the registry entry was created, the web app running under the ASPNET
credentials (which probably can't write to the registry) had no reason to
try and re-write it, so it stopped trying and runs at full speed.

Just an educated guess, but it makes sense.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top