Number of transactions to be supported per unit of time

  • How to arrive Number of transactions to be supported per unit of time  for example per second.

     

     

    Sivaprasad S - [ SIVA ][/url]http://sivasql.blogspot.com/[/url]

  • Are you asking how to arrive at an estimate of how many transactions per second an application will generate, or are you asking how to measure how many transaction per second a server currently handles?

    I doubt there is much that anyone in a forum can provide to help with an estimate, so I'll assume that you are asking how to measure the current load...

    The most accurate way that I know of is to run a trace.  You can setup a trace to capture transactions against a specific database or against all of them.  You can setup various filters to capture just certain kinds of transactions (INSERT, UPDATE, DELETE, and SELECT for example), or you can capture all SQL commands executed.  It just depends on what you want.  SQL Profiler is a powerful tool, but you should exercise some caution on a busy production server.

    I generally take short traces (5 - 15 minutes) at different times of the day and on different days.  Save the results into a table and then you can get an idea of the systems' load at different periods.

    HTH

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/

  •  I rephrase my question,

    How to measure how many transaction to a maximum per second a server would handle ?

     

    Sivaprasad S - [ SIVA ][/url]http://sivasql.blogspot.com/[/url]

  • ur question is a bit too vague ... There isn't any way you can "guestimate" how many transactions a particular server can do! It depends ALOT on the transactions u are running for a start, and then there are all the other factors that affect it (too many to list here!)

    I think u probably need to resort to the old-fasioned method that the rest of us use ... deploy database, test database!!

  • That is a very different question indeed!  And a very difficult one to answer.  Since not all transactions are created equal the number of transactions is only one part of a very complex equation. 

    I have never come across a satisfactory method of estimating the capacity of a server for a given set of applications.  Even the well-known applications such as SAP, PeopleSoft, Great Plains, etc... all tend to get very customized for each client so the benchmarks available are very rough indicators...

    As the other post indicated, capacity planning is largely a matter of experience, which comes mostly through trial and error.

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/

  • Unless there is a commercial tool I would suggest to write your test tool by yourself in your preferred programing language (C, C++, C#, Delphi...)

    You have to define the transaction type to be tested (simple select, complext select, insert, update, delete...).

    Once the transaction is defined (in a stored proc?) you have to write the client application calling your pre defined transaction almost paralell

    The client app prefreably should be a multi threading application which you will deploy on a certein number of workstation.

    Be shure not tu run any other task on the server nor on the client workstations.

    Measure the output...



    Bye
    Gabor

  • I have found that most of these type of attempts at stress testing are quite difficult to do properly.  Unless you can replicate the entire environment from the database server to the app server to the network and right back to the client, the test will be little more than a total WAG anyway.  To do this kind of benchmarking is very expensive both in terms of equipment and time.  Not to say that it can't, or shouldn't be done in some circumstances...

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply