Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.databases > #45 > unrolled thread
| Started by | paul c <anonymous@not-for-mail.invalid> |
|---|---|
| First post | 2011-04-07 07:52 -0700 |
| Last post | 2011-05-10 06:49 -0700 |
| Articles | 3 — 3 participants |
Back to article view | Back to comp.databases
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Need suggestions on transaction performance comparison paul c <anonymous@not-for-mail.invalid> - 2011-04-07 07:52 -0700
Re: Need suggestions on transaction performance comparison Keve Nagy <keve@see.my.sig> - 2011-04-27 11:42 +0200
Re: Need suggestions on transaction performance comparison paul c <toledobythesea@gmail.com> - 2011-05-10 06:49 -0700
| From | paul c <anonymous@not-for-mail.invalid> |
|---|---|
| Date | 2011-04-07 07:52 -0700 |
| Subject | Re: Need suggestions on transaction performance comparison |
| Message-ID | <201104071452.UTC.inkj2o$ogv$1@tioat.net> |
On 20/03/2011 6:13 AM, Keve Nagy wrote: > > Hello Everyone, > I would like to compare a couple of free (as in Richard Stallman) > database engines for a study, evaluating their suitability for one of my > university projects. > The subjects are Firebird, SQLite, MySQL and PostgreSQL. All installed > on the same hardware and OS, but having only one of them active at a time. > One of the hypothetical scenarios is a Parliamentary Election's Day, > when millions of votes (think of the total population of a country) are > submitted during a fairly limited amount of time (e.g. 12 hours). Each > vote corresponds to a single INSERT statement in its own transaction, > many of which happens simultaneously. > > My plan is to run some stress-tests, simulating such a scenario with a > random or changing load of concurrent transactions. And I am hoping to > measure the DB performance, hopefully feed the results to something like > gnuplot to have charts for illustration. > I have difficulties figuring out how to do this. Running such test on a > single database engine already seems quite a challenge, let alone doing > it on four different engines. > > I am looking for suggestions or pointers on ways to perform concurrent > transactions on the above mentioned engines, and ways to measure DB > performance during the tests. If you know of a tool that can be used, or > a method to simulate such load, or sample source code that does such > thing, or an article discussing this topic, please let me know! > > Regards, Hard to imagine a single system (not to mention the communication hardware) for that. 1) Do the math, say 50 million votes over 12 hours, that would be over one thousand 'insert transactions' per second on average. The peaks would likely be several or many times that. If there are more elected positions per voter than just a single parliamentary seat, multiply some more. 2) Look at all the plausible requirements, not just the population. Eg., factors like how to size recovery logs or not wanting to have to arrange a second election if the single system fails, not to mention the arguments amongst the second set of losers. Some things aren't naturally centralized, in most western countries votes are counted on a local basis, eg. per riding. That might result in an average load of only 100 transactions per second and several hundreds peak. But in most (so-called) democracies the candidates will have their own scrutineers and they'll want either paper ballots or paper output from the voting systems. It's hard to imagine a computer system that can do a judicial re-count. I'm not up on current hardware but I'd say that besides doing the paper analysis of the stuff above you could reasonably limit your stress-tests to a much smaller scale.
[toc] | [next] | [standalone]
| From | Keve Nagy <keve@see.my.sig> |
|---|---|
| Date | 2011-04-27 11:42 +0200 |
| Message-ID | <91q6pcFoq3U1@mid.individual.net> |
| In reply to | #45 |
> Hard to imagine a single system (not to mention the communication > hardware) for that. 1) Do the math, say 50 million votes over 12 hours, > that would be over one thousand 'insert transactions' per second on > average. The peaks would likely be several or many times that. If there > are more elected positions per voter than just a single parliamentary > seat, multiply some more. 2) Look at all the plausible requirements, not > just the population. Eg., factors like how to size recovery logs or not > wanting to have to arrange a second election if the single system fails, > not to mention the arguments amongst the second set of losers. Some > things aren't naturally centralized, in most western countries votes are > counted on a local basis, eg. per riding. That might result in an > average load of only 100 transactions per second and several hundreds > peak. But in most (so-called) democracies the candidates will have their > own scrutineers and they'll want either paper ballots or paper output > from the voting systems. It's hard to imagine a computer system that can > do a judicial re-count. > > > I'm not up on current hardware but I'd say that besides doing the paper > analysis of the stuff above you could reasonably limit your stress-tests > to a much smaller scale. Thanks for pointing these out, Paul! Even though I was aware of these numbers, I didn't really think through their total effect the way you just highlighted. I have already amended the test plan accordingly, considering only a scaled-down version of the task. Having the election broken down to regions is a perfect example. In the meantime I have also made some progress in the implememtation of the load test. I concluded that Perl DBI can be my best friend here, allowing me to construct a tool that spawns and inserts data-records as required. And it can be run on virtually any O/S, and against any of my target database types. Where I still don't really have an answer is the measurement part. I don't see how to measure each database's performance of handling the INSERTs. Can't quite grab what to measure, how I could measure that, and how to feed it into something like gnuplot to get comparable graphs. Thoughts and pointers on such technical details would be more than welcome! Regards, -- Keve Nagy * Debrecen * Hungary keve(at)mail(dot)poliod(dot)hu
[toc] | [prev] | [next] | [standalone]
| From | paul c <toledobythesea@gmail.com> |
|---|---|
| Date | 2011-05-10 06:49 -0700 |
| Message-ID | <3dbb4c2f-5005-4e61-baab-f42c4e497c9d@c1g2000yqe.googlegroups.com> |
| In reply to | #67 |
On Apr 27, 2:42 am, Keve Nagy <k...@see.my.sig> wrote: ... > Even though I was aware of these numbers, I didn't really think through > their total effect the way you just highlighted. ... > ... Can't quite grab what to measure ... > ... I don't know why you acknowledge Jasen B's suggestions (from more than a month ago) and then ignore them. > Thoughts and pointers on such technical details would be more than welcome! Sounds like the assignment is late. From what was written, technical advice seems beside the point. Ie., you have been given a measurement problem but after all this time it seems you haven 't decided what to measure. That would make tool technique moot. It would have been better to try to run your tests without any measurements at all - that experience might have prompted you to refine them or try Jasen's metrics without further ado or even consider a more regimented field.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.databases
csiph-web