Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a small database (<1G) But we have a lot of complex logiс in website and client complains on render time, which is 3-5 seconds. We are not google, and thousands of users a day is our dream, so size is not a problem, but speed is important. Can anybody share with experience with SSD drives for ASP.NET (MVC)/LINQ/MS SQL based application ? How you performance increased?

UPDATE: this whitepaper states that it will be 20 times faster. http://www.texmemsys.com/files/f000174.pdf

share|improve this question

migrated from stackoverflow.com Jan 21 '10 at 18:42

This question came from our site for professional and enthusiast programmers.

    
Well if the problem is with his queries (which it will be) he needs advice from t-sql programmers :D –  Hassan Syed Jan 21 '10 at 18:40
add comment

6 Answers 6

up vote 7 down vote accepted

I would add my comment to an earlier answer, but I don't have enough reputation ... so here goes ...

Buy more RAM. Lots more RAM. If you have 4GB, go to 16GB or 32GB. Even 32GB or RAM will likely be cheaper than GOOD SSD. Most SSD drives are no better than hard-drives, with the expensive Intel drives being the notable exception (there are other SSDs that are even faster, but those are far more expensive).

If your database is only 1GB, SQL Server will cache almost the entire thing in memory if you add enough memory. The only exception is if your process is writing a lot of data. If you have 1,000 INSERT transactions that need to happen for each user action a lot of memory won't help much, and then an SSD drive MIGHT be useful ... but I suspect that is not the case. In any read operation memory will always improve performance much more than hard drives.

share|improve this answer
add comment

Have you actually traced where your problem lies? Is it in the database query? Is it processing the query on the server side? Content rendering? Transmission of the rendered content? There's many area's that can bottleneck performance on a multi-tier web application, and to do any meaningful performance improvement, you need to analyze what's slowing things down.

share|improve this answer
add comment

Not really good to answer own question, but...

I have two major projects, which I am working on. Both using MS SQL / LINQ / ASP.NET One is older, and it has very normalized table structure. It means that to render information about one business entity I read probably from 5-6 related tables.

Another one is newer and has higher performance requirements. It also uses LINQ. Within current architecture I forced to seek 1 additional record per each search result.

WIth SSD: 1st project. 30-50% improvement on total page load. So, indeed this is somehow helpful 2nd project. 10-20% improvement on total page load. difference is almost minimal. However, I got feeling that in this case system is more ready to handle stress and random reads.

At summary, if for you size SSD costs like 2-3 man-days I would recommend to use it but not expect great improvements.

share|improve this answer
add comment

I assume you have a proper RAID array ?

you DO NOT need a SSD, in terms of hardware .... RAM = GOD. Adding a SSD will give you NO benefit SSD's are useful as the back end for temp tables when you are doing terabytes worth of processing.

buy some of the books from here. They will teach you how to optimize your schema and queries.

share|improve this answer
4  
If RAM == GOD... then, by God, what is L1 cache? Or registers for that matter!? –  codekaizen Jan 21 '10 at 18:32
1  
So, you think it would be better to upgrade memory from 4G to 8G instead of ssd harddrive? –  Sergey Osypchuk Jan 21 '10 at 18:32
2  
yes definitely, ram allows you to cache more -- but I suggest you optimize your database first -- as 3-5 seconds for a DB with only a gig of data is very suspicious. –  Hassan Syed Jan 21 '10 at 18:34
    
@codekaizen I think you misunderstood. He just assigned god to the ram, meaning that you should put god in the ram slots of your server. –  klausbyskov Jan 21 '10 at 18:34
    
Seriously, Sergey, you should be able to determine if the machine is low on ram just by pressing ctrl+shift+espace. Always determine the cause of your problem before you spend money on hardware. It may just as well be a table that needs an index or some poorly written code. Investigate, investigate –  klausbyskov Jan 21 '10 at 18:36
show 3 more comments

Have you evaluated your actual queries against your DB? Your performance should be better than what you're seeing.

share|improve this answer
add comment

I'm not a server expert but I had the same question about it. IF you have the enough knowledge you might understand the the following article, where they are evaluation cost vs performance.

Ssd Vs Hdd Price And Performance Study

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.