| View previous topic :: View next topic |
| Author |
Message |
mynameiskg
Joined: 30 Nov 2009 Posts: 3
|
Posted: Mon Nov 30, 2009 4:19 am Post subject: Calculations for processor requirement |
|
|
I have a system which gets requests at 25 transactions per second. On receiving a request, the system does a lookup in its database (which consists of 100,000 entries) to get the required information.
A request comes ever 1/25 seconds and for each request log2(100,000) entries in the db are looked up. Therefore in each second 25* log2(100,000) = (415) entries are looked up/compared.
I want to find out: what kind of a processor do I need to support this speed. I want to know how to perform the calculations? Say in case of X records in db and Y TPS..i would need a 3Ghz quad core processor .
Could you please help? I am not sure how'd I go about doing this. |
|
| Back to top |
|
 |
Qwerty

Joined: 20 May 2005 Posts: 3141 Location: Germany
|
Posted: Mon Nov 30, 2009 4:55 am Post subject: |
|
|
In my opinion the storage sub-system is the main limiting factor here.
A fast processor won't change much if the hard drive is not able to retrieve such amount of database entries per second! |
|
| Back to top |
|
 |
mynameiskg
Joined: 30 Nov 2009 Posts: 3
|
Posted: Mon Nov 30, 2009 5:02 am Post subject: |
|
|
| How do I perform calculations to tell my clients what kind of a processor or a hard drive they need to use. |
|
| Back to top |
|
 |
D.8080

Joined: 03 Apr 2006 Posts: 1474 Location: Italy
|
Posted: Mon Nov 30, 2009 5:40 am Post subject: |
|
|
Yes, a little raid array to speed up things.
Servers usually have redundancy for safety and raid to augment the total disk speed.
Most motherboards host some raid capabilities by default, so it's not going to cost you a bomb or have to buy a high priced enterprise solution. |
|
| Back to top |
|
 |
mynameiskg
Joined: 30 Nov 2009 Posts: 3
|
Posted: Mon Nov 30, 2009 6:40 am Post subject: |
|
|
What about the case when my db has 1billion entries and I have requests coming in at the rate of 55,000 TPS.
In that case? Wouldnt I definitely need a more powerful processor?
Also how do I quantify the system requirements? |
|
| Back to top |
|
 |
Qwerty

Joined: 20 May 2005 Posts: 3141 Location: Germany
|
Posted: Mon Nov 30, 2009 7:36 am Post subject: |
|
|
| mynameiskg wrote: | | How do I perform calculations to tell my clients what kind of a processor or a hard drive they need to use. |
It's not possible to make exact calculations. There are way too much factors need to be considered.
For example (only the most important ones):
- The type of DB software used
- The size of the main data base (100 MB or 100 TB)
- The size of the record (1 KB or 1 GB)
- Logical organization of DB (a single table or 100 linked sub-tables)
- Record access pattern (sequential access or random access across the whole data base)
- Type of transaction (a single SELECT command or 100's of WHERE and SUBSELECT queries with coupled UPDATEs)
- Host architecture (percentage of overhead caused by the host system)
- Type of storage (array of SSD-HDDs on-board or a distant iSCSI storage)
The DB experts make assumptions based on their previous experience with similar structured data bases, (empirical) performance values and synthetic DB benchmarks.
It's not that easy - that's why the DB consultants earn a LOT of money!
| mynameiskg wrote: | What about the case when my db has 1billion entries and I have requests coming in at the rate of 55,000 TPS.
In that case? Wouldnt I definitely need a more powerful processor?
Also how do I quantify the system requirements? |
55000 transactions per second ???
Yes - you will surely need a more powerful processor in this case. A whole cluster of 3.0 GHz Hexa-Core Opterons will suffice for starters.
And don't forget a RAID 60 rack!
You owe me $5000 for this advice  |
|
| Back to top |
|
 |
|