加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – SQL Server中的大量数据和性能

发布时间:2021-05-17 04:30:15 所属栏目:编程 来源:网络整理
导读:我编写了一个带有SQL Server后端的应用程序,用于收集和存储大量的记录.我已经计算出,在最高峰时,平均记录量大约在每天30-40亿(运营20小时)的大道上. 我的原始解决方案(在我完成数据的实际计算之前)是让我的应用程序将记录插入到我的客户查询的同一个表中.显然

我将在这些陈述中加注:我知道由于我的硬件配置,我正在失去一些性能.我已经尝试了很多次,但是由于预算,C级,行星的对齐等等,不幸的是我无法做更好的设置.服务器在虚拟机上运行,??我甚至无法增加内存,因为我们根本没有.

这是我的系统信息:

存储通过iSCSI接口连接到VM服务器到NAS盒(这会降低性能). NAS盒在RAID 10配置中有4个驱动器.它们是4TB WD WD4000FYYZ旋转磁盘驱动器,具有6GB / s SATA接口.服务器只配置了一个数据存储,因此tempdb和我的数据库位于同一个数据存储中.

最大DOP为零.我应该将其更改为常量值还是让SQL Server处理它?我读到RCSI:我是否认为RCSI的唯一好处是行更新?永远不会有任何这些特定记录的更新,它们将被插入和选择. RCSI还能让我受益吗?

我的tempdb是8mb.基于以下jyao的答案,我将#sValues更改为常规表以完全避免tempdb.虽然表现差不多.我会尝试增加tempdb的大小和增长,但考虑到#sValues的大小或多或少总是大小相同,我预计不会有太大的收益.

我已经采取了我在下面附上的执行计划.此执行计划是临时表的一次迭代–100k记录.查询的执行相当快,大约2秒,但请记住,SignalValues表上没有索引,而INSERT的目标SignalValues表中没有记录.

解决方法

I’ve calculated that,at the peak,the average amount of records is somewhere in the avenue of 3-4 billion per day (20 hours of operation).

从截图中,您只有8GB内存总RAM和6 GB分配给SQL Server.这对于你想要实现的目标来说太低了.

我建议你将内存升级到更高的值 – 256GB并提升你的VM CPU.

此时您需要为您的工作负载投资硬件.

另请参阅data loading performance guide – 它描述了有效加载数据的智能方法.

My tempdb is 8mb.

基于你的编辑..你应该有一个明智的tempdb – 最好是多个tempdb数据文件同样大小以及TF 1117和1118启用实例范围.

我建议你去做专业的健康检查,然后从那里开始.

极力推荐

>提升您的服务器规格.
>让专业人员对您的数据库服务器实例进行运行状况检查并遵循建议.
>一旦.和b.完成后,让自己沉浸在查询调优和其他优化中,例如查看等待统计信息,查询计划等.

注意:我是0700在hackhands.com – 一个复数公司,但绝不建议你雇用我的帮助.我只是建议您根据自己的编辑提供专业帮助.

HTH.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读