-1

As I am a average programmer who have never been purchasing any hardware myself, I have to choose a computer for a prototype database server that will be used to serve

  • 10 concurrent request per one or two second (and may scale up to 50 in the future)
  • each request will insert about 3-5 records (with C# using internal stored procedures)
  • on a local wired Lan network.
  • Not more than 50MB (expecting around 25MB) of data will be inserted into the database daily.
  • need to run 24 hours (as this will be used for factory production line)

My configuration is a MS SQL Server 2012 Express.

I know that I need to test my application to know for to be sure is my hardware is sufficient. But due to a process of purchasing hardware in my company need to advance planning for one quarter so I can't develop my application before the purchasing period end.

I would like to ask that if I can run server that serve this configuration (maybe only 10 concurrent version) on an average computer like

  • Intel core i5 4570 @ 3.20GHz
  • 4GB of ram
  • Window 7 (32 or 64 bit)
  • 1 TB 7200rpm harddrive

or if it can't what should I need and what should I need for 50 concurrent version.

Sorry for my newbie question and thank in advance.

  • This seems like a simple enough task for any PC. Perhaps use prepared statements to speed it up. – Halfgaar Aug 26 '14 at 10:25
  • My **iPhone** can handle 1-2 requests per second and 50 MB/day data. – ceejayoz Aug 26 '14 at 12:13
  • possible duplicate of [How do you do load testing and capacity planning for web sites?](http://serverfault.com/questions/350454/how-do-you-do-load-testing-and-capacity-planning-for-web-sites) – kasperd Aug 26 '14 at 15:16
  • 1
    That's _tiny_. I think my girlfriend's _smart watch_ can handle that load. – Michael Hampton Aug 26 '14 at 15:19

1 Answers1

3

If you buy hardware for a factory production line that needs to be reliable, you need to buy reliable hardware and a simple desktop doesn't cut it.

You want redundant power supplies and disk drives in a RAID, in other words, a real server.

Also: Use Win Server instead of a desktop OS, add a lot more RAM (16 GB is dirt cheap) and think about putting the DB on (RAIDed) SSDs.

Sven
  • 97,248
  • 13
  • 177
  • 225
  • The last one is important. Given that SSD are 100 times faster or more than a hard disc, using a disc basically asks for the system to be slow. – TomTom Aug 26 '14 at 11:00
  • Was right with you right up to the point where you mentioned SSDs (particularly in RAID). Given the data volumes here, a single xonventional disk would cope with the capacity - but would be a really bad idea from the point of view of reliability. Given the relative inexperience of the OP and the delays in resourcing, using SSDs could cause big outages a few years down the road. – symcbean Aug 26 '14 at 11:31
  • @symcbean: I am always wary with SSDs myself, I just don't trust them like spinning rust yet, therefore I emphasized the RAID part for SSDs. However, in the context of such a question, you cannot consider every aspect because then I would have to write a book and speak about backups (and the fact that RAIDs aren't backups), about monitoring, highly recommended support contracts for the hardware and thousand other things. – Sven Aug 26 '14 at 11:38
  • I wonder if I try to make it for a proof of concept first on the desktop computer (for ex. 1 month period) will it is possible? And then go on production with a real one. – gentlerainsky Aug 26 '14 at 14:43
  • 1
    @gentlerainsky On my much older desktop with an SSD drive I can insert 10 _million_ rows or more in an hour. This is not an issue. – Michael Hampton Aug 26 '14 at 15:20