问题归纳:


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