Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server优化_Sql Server_Server_Infrastructure_Industrial_Hardware Infrastructure - Fatal编程技术网

Sql server SQL Server优化

Sql server SQL Server优化,sql-server,server,infrastructure,industrial,hardware-infrastructure,Sql Server,Server,Infrastructure,Industrial,Hardware Infrastructure,我的应用程序(工业自动化)在Dell T330服务器上使用SQL Server 2017标准版,配置如下: 至强E3-1200 v6 16gb DDR4 UDIMM 2 x 2tb高清7200RPM(Raid 1) 在这家银行,我正在保存以下表格: Table: tableHistory Insert Range: Every 2 seconds 410 columns type float 409 columns type int -- -- -- -- 注意: Table: table

我的应用程序(工业自动化)在Dell T330服务器上使用SQL Server 2017标准版,配置如下:

  • 至强E3-1200 v6
  • 16gb DDR4 UDIMM
  • 2 x 2tb高清7200RPM(Raid 1)
在这家银行,我正在保存以下表格:

Table: tableHistory
Insert Range: Every 2 seconds
410 columns type float
409 columns type int
--

--

--

--

注意:

Table: tableHistory
Insert Range: Every 2 seconds
410 columns type float
409 columns type int
当我生成报告/图表时,我的应用程序会将包含的内容插入缓冲区。因为系统不能同时插入和查询。因为查询加载良好

A列,它们是值​​电流、温度、液位等。该信息记录一年

问题

使用此级别的处理,是否会出现性能问题

由于需求量大,我是否需要更好的硬件


由于硬件的原因,我的应用程序是否会在某个时候中断?

您的问题可能过于宽泛,但我想详细说明这些评论,并提供其他建议

要获得足够的性能,需要多少RAM取决于报告查询。因素包括所接触的行数、执行计划运算符(排序、哈希等)、并发查询数。更多的RAM还可以通过避免IO来提高性能,尤其是旋转介质的成本更高

针对具有传统表的1-2TB数据库的报告工作负载(大型扫描)需要快速存储(SSD)和/或更多RAM(数百GB)以提供良好的性能。现有的硬件是最糟糕的情况,因为只有16GB RAM不太可能缓存数据,而单轴每秒只能读取约150MB的数据。根据我对您问题中模式的粗略计算,每月一次TBL历史摘要查询大约需要一分钟来扫描10GB的数据(假设日期列上有聚集索引)。查询持续时间将随着并发查询数的增加而增加,因此由于磁盘带宽限制,5个并发用户运行同一查询时,每个查询至少需要5分钟。SSD存储可以支持每秒多GB的速度,因此,对于相同的查询和RAM,上述查询的数据传输时间将不超过5秒

@ConorCunninghamMSFT建议的列存储(例如聚集的列存储索引)将大大减少从存储传输的数据量,因为只有查询中指定的列的数据才被读取,并且固有的列存储压缩 将减少磁盘上的数据大小和从磁盘传输的数据量。压缩节省的空间在很大程度上取决于实际的列值,但与rowstore表相比,我希望减少50%到90%的空间


针对度量数据的报告查询可能会指定日期范围标准,因此按日期划分columnstore将限制扫描到指定的日期范围,而不使用传统的b树索引。分区还将有助于使用滑动窗口分区维护(分区截断、合并、拆分)清除12个月的保留标准,从而与删除查询相比,大大提高流程的性能。

我们不知道。一般的答案是肯定的,主要是因为这些问题是一般性的。是的,如果您对性能的定义足够严格,您可能会遇到性能问题。是的,如果您将高需求定义得足够高,您需要更好的硬件来满足高需求。是的,由于硬件的原因,它会在某一点出现故障-最后,硬件确实会在某一点出现故障,因此服务器上的每个应用程序都会在某一点上由于硬件的原因而出现故障。请注意,对于前两个问题,CAN部分基本上是“CAN”而不是“WILL”-我们不知道您对它有什么看法,因此如果有足够多的人使用它,它可能会失败。由于使用了绝对不适合db的驱动器,您的备用空间也很低,这些驱动器只能用于非常低端的用途。但大多数情况下,没有太多细节,这里唯一的答案总是肯定的。问题是,在查询过程中,服务器速度非常慢。我同意这个问题很笼统。但我现在还不知道什么才是最理想的。好吧,开始解雇那个认为在7200 RPM光盘上安装数据库可以扩展的人吧。在一些小的,我会在SSD的所有- 1000倍的IO性能。请考虑专栏店
Table: tableHistoryMotors
Insert Range: Every 2 seconds
328 columns type float
327 columns type int
Table: tableHistoryMotorsLong
Insert Range: Every 10 minutes
328 columns type float
327 columns type int
Table: tableEnergy
Insert Range: Every 700 milliseconds
220 columns type float
219 columns type int