load testing a database

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

load testing a database

Tudor Girba-2
Hi,

Do you happen to know methods to approach the problem of testing the
capacity of an application to work with an SQL database?

In particular, I am interested in simulating concurrent requests
towards this database that would resemble the interaction coming from
the application.

Cheers,
Doru

--
www.tudorgirba.com

"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: load testing a database

Ben Coman
Tudor Girba wrote:

> Hi,
>
> Do you happen to know methods to approach the problem of testing the
> capacity of an application to work with an SQL database?
>
> In particular, I am interested in simulating concurrent requests
> towards this database that would resemble the interaction coming from
> the application.
>
> Cheers,
> Doru
>
>  
No direct experience - just musing...
I assume it is not a web application or you would just use any web
stress-check tool - but thinking laterally perhaps a simple web
interface can be set up for such a tool to work against?



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: load testing a database

Stephan Eggermont-3
In reply to this post by Tudor Girba-2
Doru wrote:
>Do you happen to know methods to approach the problem of testing the
>capacity of an application to work with an SQL database?
>
>In particular, I am interested in simulating concurrent requests
>towards this database that would resemble the interaction coming from
>the application.

I once created a simple model for a distributed ram-based OLAP system.
That had independent nodes, connected to a network with known delay and
speed, and simple read-only queries. Queries would just take some space,
move (and split-join) from node to node and  increase their timestamps.

For a sql database just start adding complex queries, write locks,
limited buffer sizes, cpu cores & caching and disks...

Not so easy.

Stephan


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] load testing a database

Tudor Girba-2
In reply to this post by Tudor Girba-2
Hi,

Sorry for the late reply, and thanks everyone for the suggestions.

I did not provide much details because I am new to this domain and I wanted to see from the reactions if maybe I am not missing some relevant direction.

We are trying to measure how an Oracle database can cope with an increase in usage (basically, there will be more users for the application). We are basing our analysis on typical SQL statements coming from the application. We are currently doing load testing by:
- recording sql statements from some use cases that are considered to be important
- generalizing them by replacing actual values with generic variables
- providing meaningful values for the generic variables
- replaying them against the database from several client machines
- consuming the first record from the responses
- reporting the timing of the statements
- recording the CPU, memory and I/O load of the server

However, I am interested in pitfalls, and in the way people interpret the results given that it is hard to determine what is a typical usage in terms of what statements to trigger and at what delays.

Cheers,
Doru



On 5 Feb 2012, at 19:02, Philippe Marschall wrote:

> On 03.02.2012 16:11, Tudor Girba wrote:
>> Hi,
>>
>> Do you happen to know methods to approach the problem of testing the
>> capacity of an application to work with an SQL database?
>
> Which capacity?
>
>> In particular, I am interested in simulating concurrent requests
>> towards this database that would resemble the interaction coming from
>> the application.
>
> What are you trying to measure?
>
> Well you know that benchmarking is hard, don't you? I see two possible ways. First recording the SQL statements and then replaying them (have fun with bind parameters). Second just running the application itself.
>
> Oh yeah, Oracle has a tool named RAT, no idea what the marketing department though there. Maybe you can play similar tricks with PITR in PostgreS.
>
> Cheers
> Philippe
>
>

--
www.tudorgirba.com

"Problem solving efficiency grows with the abstractness level of problem understanding."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev