NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

faster database logging

Hello,
 
i have a problem with database logging in teststand 3.0. I write the data to a sql server. Iám logging the results of 7 steps and it takes 5 seconds! It is a very fast test, so that the database logging takes more time than testing. What`s wrong or how can i make it faster??
 
greetings
 
schwede
0 Kudos
Message 1 of 4
(3,576 Views)
First you could try a database that is created on your local machine, to see if the connection is the reason for the delay. Database logging from TestStand takes a littel bit longer then report generation, but it should not take 5 seconds, so I guess that building the connection to your database takes so long.
In the database options exists a "Use On-The-Fly Logging" option. you could try this, maybe this will speed up your seqeunce a little bit.

Hope this helps!
0 Kudos
Message 2 of 4
(3,566 Views)
Schwede -
The first iteration will take extra time because a connection needs to be established with the server. The connection and the SQL statement handes are cached while an execution is running multiple UUTs.  If you loop on a UUT, what is the time for the subsequent iterations after the first?
 
On the fly logging does not offer any better performance, if anything it will slow down the execution because it is calling a callback to log each result separately and the callback has extra execution overhead.

Message Edited by Scott Richardson on 07-05-2006 09:55 AM

Scott Richardson
https://testeract.com
0 Kudos
Message 3 of 4
(3,554 Views)

Try setting in your database connection string :-

Persist Security Info=True

Then authentication wont happen every time you write to your database.

The writes are going across a network an entry at a time.

What else is going on, on your network ?

I've had a Win Proxy totally stuff network performance for SQL traffic.

Because the writes are in small packets of data there maybe TCPIP options you can tweak to improve network performance for small packets. Ethernet is optimised on most PC's to send large packets and buffers.
On windows 2000 machines try searching for "TcpDelAckTicks" on Google
On XP machines try searching for on "TcpDelAckTicks" key and "TcpAckFrequency" on Google

Are your numeric limits stored n depths deep in sequence calls, if so every seq call will also be being logged down to the database.

Idea of a local database is a good one least you can rule out networking issues, you can install MSDE on a normal PC if you have a licenced copy of SQL Server.

 

 

Message 4 of 4
(3,543 Views)