问题归纳:
Analysis Server的配置属性页有很多相关的配置参数,但是由于其缺乏相应的说明,使得很多时候我们并不能根据自己的实际业务情况或者硬件情况对 参数进行相应的调整
方案提出:
对所有的参数进行研究和配置,提高处理的性能
处理方式:
下面归纳一下SSAS的一些参数的具体意义和建议配置
AggregationMemoryLimitMax
设置SSAS在处理聚合时所能用到的最大物理内存大小。这个设置值小于100时表示的是占服务器物理内存的百分比数,如果大于100才表示的是实际的字节数(双精度)
位置: OLAP / Process / AggregationMemoryLimitMax
默认值:80
建议值:80
AggregationMemoryLimitMIN
设置SSAS在处理聚合时所能用到的最小物理内存大小。这个设置值小于100时表示的是占服务器物理内存的百分比数,如果大于100才表示的是实际的字节数(双精度)。如果增大此值,则可提高聚合处理速度,但同时会增加内存使用开销。
位置: OLAP / Process / AggregationMemoryLimitMin
默认值:10
建议值:30
BufferMemoryLimit
设置SSAS在处理聚合时所能用到的缓冲区内存限制值。这个设置值小于100时表示的是占服务器物理内存的百分比数,如果大于100才表示的是实际的字节数(双精度)。
位置: OLAP / Process / BufferMemoryLimit
默认值:60
建议值:60
LowMemoryLimit
用于定义服务器的最低内存限制(值小于100时以物理总内存的百分比表示)。达到此阈值时,服务器便会主动寻找机会释放内存
位置: Memory / LowMemoryLimit
默认值:75
建议值:75
CheckDistinctRecordSortOrder
一个布尔值属性,它定义在处理分区时非重复计数查询的结果的排序顺序是否有意义。如果为 True,指示排序顺序没有意义,必须由服务器进行“检查”。处理具有非重复计数度量值的分区时,查询按排序依据发送到 SQL。设置为 false 可加速处理。
位置: OLAP / Process / CheckDistinctRecordSortOrder
默认值:1
建议值:0
DeepCompressValue
指定是否可以压缩数字(导致数值精度损失)。默认是1,就是小数点右面15位后的数据将处理掉,如果业务对这方面的精度要求比较高的话,可以将值设为 0,指示无压缩,无精度损失,但是会增加硬盘空间的开销。
位置: OLAP / Process / DeepCompressValue
默认值:1
建议值:1
FlightRecorder
用来记录SSAS实际运行的监测日志的,有点类似飞机里面的“黑匣子”。
有是否启用和文件大小,间隔等等,暂时按默认值,不做修改
位置: Log / FlightRecorder /
建议使用默认值
LazyProcessing
迟缓聚合处理,就是在CPU空闲的时候在后台对多维数据集进行聚合和索引等处理的配置
可以配置并行的进程,唤起的时间间隔,CPU最高占用率等等,暂时按默认值,不做修改
位置: OLAP / LazyProcessing/
建议使用默认值
MaxThreads
定义最大线程数,用于查询和处理。如果服务器的CPU个数是多个的话,需要增加数量。
位置: ThreadPool / Process / MaxThreads
ThreadPool / Query / MaxThreads
默认值:64,50
建议值:CPU的个数*64, CPU的个数*50
MINThreads
定义最小线程数,用于查询和处理。
位置: ThreadPool / Process / MinThreads
ThreadPool / Query / MinThreads
默认值:1,1
建议值:10, 10
QueryLog
在SQLSERVER数据库中记录BI查询的记录,用来更好的设计度量值组分区的聚合情况
可以配置连接不同的数据库,数据表等。
TotalMemoryLimit
定义服务器将使用的最大物理内存的属性,值小于100时以物理总内存的百分比表示
位置: Memory / TotalMemoryLimit
默认值:80
建议值:80