我的数据库很小(<1G),但是我们的网站中有很多复杂的逻辑,客户抱怨渲染时间太长,需要 3-5 秒。我们不是谷歌,每天有成千上万的用户是我们的梦想,所以大小不是问题,但速度很重要。有人可以分享使用基于 ASP.NET (MVC)/LINQ/MS SQL 的应用程序的 SSD 驱动器的经验吗?你们是如何提高性能的?
更新:白皮书指出它将快 20 倍。 http://www.texmemsys.com/files/f000174.pdf
答案1
我本想将我的评论添加到之前的一个答案中,但我的声誉不够……所以就这样了……
购买更多 RAM。多买很多 RAM。如果您有 4GB,请购买 16GB 或 32GB。即使是 32GB 或 RAM 也可能比优质 SSD 便宜。大多数 SSD 驱动器并不比硬盘驱动器好,昂贵的英特尔驱动器是明显的例外(还有其他速度更快的 SSD,但它们要贵得多)。
如果您的数据库只有 1GB,那么只要您添加足够的内存,SQL Server 就会将几乎整个数据库缓存在内存中。唯一的例外是如果您的进程正在写入大量数据。如果您有 1,000 个 INSERT 事务需要在每个用户操作时发生,那么大量的内存不会有太大帮助,那么 SSD 驱动器可能会有用……但我怀疑情况并非如此。在任何读取操作中,内存总是比硬盘更能提高性能。
答案2
您是否真的查明了问题所在?是在数据库查询中吗?是在服务器端处理查询吗?内容渲染?渲染内容的传输?多层 Web 应用程序的性能瓶颈可能出现在许多方面,要想实现任何有意义的性能改进,您需要分析导致速度变慢的原因。
答案3
不太好回答自己的问题,但是......
我正在进行两个主要项目。两者都使用 MS SQL / LINQ / ASP.NET 一个比较旧,并且具有非常规范化的表结构。这意味着要呈现有关一个业务实体的信息,我可能从 5-6 个相关表中读取。
另一个比较新,对性能要求较高。它也使用 LINQ。在当前架构中,我强制为每个搜索结果寻找 1 条额外记录。
使用 SSD:第一个项目。总页面加载量提高 30-50%。因此,这确实在某种程度上有所帮助。第二个项目。总页面加载量提高 10-20%。差异几乎微乎其微。但是,我感觉在这种情况下系统更能应对压力和随机读取。
总而言之,如果您的 SSD 尺寸需要花费 2-3 个人工日,我建议您使用它,但不要期待有太大的改进。
答案4
您是否评估过针对数据库的实际查询?您的性能应该比您看到的更好。