Analysis Services 中的服務器屬性配置:
https://docs.microsoft.com/zh-cn/sql/analysis-services/server-properties/server-properties-in-analysis-services?view=sql-server-2017
線程池屬性配置:
https://docs.microsoft.com/zh-cn/sql/analysis-services/server-properties/thread-pool-properties?view=sql-server-2017
msmdsrv.ini文件位置:E:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Config
線程池屬性參考
本節介紹在每個 Analysis Services 實例的 msmdsrv.ini 文件中找到的線程池屬性。 這些屬性中的一部分也出現在 SQL Server Management Studio 中。
按字母順序列出屬性。
“屬性” | 類型 | Description | 默認 | 指導 |
---|---|---|---|---|
IOProcess \ Concurrency | double | 一個雙精度浮點值,確定用於設置可同時排隊的線程數目標的算法。 | 2.0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 並發用於初始化線程池,這些線程池使用 Windows 中的 IO 完成端口來實施。 有關詳細信息,請參閱 I/O 完成端口 。 僅適用於多維模型。 |
IOProcess \ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置 IOProcess 線程池中的線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 僅適用於多維模型。 |
IOProcess \ MaxThreads | ssNoversion | 有符號 32 位整數,用於指定線程池中要包含的最大線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,服務器將此值設置為 64 或設置為邏輯處理器數的 10 倍,以較大者為准。 例如,在采用超線程的 4 核系統上,線程池最大值是 80 個線程。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果您已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 MaxThreads 設置為 -10,則線程池的上限將為 10 乘以 8(即 80 個線程)。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 僅適用於多維模型。 |
IOProcess \ MinThreads | ssNoversion | 一種 32 位有符號整數,用於指定為線程池預分配的最小線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,最小值為 1。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 僅適用於多維模型。 |
IOProcess \ PerNumaNode | ssNoversion | 有符號 32 位整數,用於確定為 msmdsrv 進程創建的線程池數。 | -1 | 有效值為 -1、0、1、2 -1 = 服務器根據 NUMA 節點數選擇不同的 IO 線程池策略。在 NUMA 節點數少於 4 個的系統上,服務器行為與值為 0 時的行為相同(為系統創建一個 IOProcess 線程池)。 在具有 4 個或更多個節點的系統中,行為與 1 相同(為每個節點創建 IOProcess 線程池)。 0 = 禁用每節點 NUMA 多個線程池,以便 msmdsrv.exe 進程僅使用一個 IOProcess 線程池。 1 = 為每個 NUMA 節點啟用一個 IOProcess 線程池。 2 = 每個邏輯處理器一個 IOProcess 線程池。 每個線程池中的線程數與邏輯處理器的 NUMA 節點關聯,且理想處理器設置為邏輯處理器。 有關詳細信息,請參閱 設置 PerNumaNode 以使 IO 線程與 NUMA 節點中的處理器關聯 。 僅適用於多維模型。 |
IOProcess \ PriorityRatio | ssNoversion | 有符號 32 位整數,可用於確保即使高優先級隊列不為空,有時也能執行低優先級線程。 | 2 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 僅適用於多維模型。 |
IOProcess \ StackSizeKB | ssNoversion | 一種 32 位有符號整數,可用於調整線程執行期間的內存分配。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 僅適用於多維模型。 |
Parsing \ Long\ Concurrency | double | 一個雙精度浮點值,確定用於設置可同時排隊的線程數目標的算法。 | 2.0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 並發用於初始化線程池,這些線程池使用 Windows 中的 IO 完成端口來實施。 有關詳細信息,請參閱 I/O 完成端口 。 |
Parsing \ Long\ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置分析線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 |
Parsing \ Long\ NumThreads | ssNoversion | 有符號 32 位整數屬性,用於定義可為長命令創建的線程數。 | 0 | 0 指示由服務器確定默認值。 默認行為是將 NumThreads 設置為絕對值 4,或邏輯處理器數的兩倍,取兩者中的較大值。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 NumThreads 設置為 -10,則線程池的上限將為 10 乘以 8,即 80 個線程。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 |
Parsing \ Long\ PriorityRatio | ssNoversion | 有符號 32 位整數,可用於確保即使高優先級隊列不為空,有時也能執行低優先級線程。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Parsing \ Long\ StackSizeKB | ssNoversion | 一種 32 位有符號整數,可用於調整線程執行期間的內存分配。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Parsing \ Short \ Concurrency | double | 一個雙精度浮點值,確定用於設置可同時排隊的線程數目標的算法。 | 2.0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 並發用於初始化線程池,這些線程池使用 Windows 中的 IO 完成端口來實施。 有關詳細信息,請參閱 I/O 完成端口 。 |
Parsing \ Short \ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置分析線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 |
Parsing \ Short \ NumThreads | ssNoversion | 有符號 32 位整數屬性,用於定義可為短命令創建的線程數。 | 0 | 0 指示由服務器確定默認值。 默認行為是將 NumThreads 設置為絕對值 4,或邏輯處理器數的兩倍,取兩者中的較大值。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 NumThreads 設置為 -10,則線程池的上限將為 10 乘以 8,即 80 個線程。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 |
Parsing \ Short \ PriorityRatio | ssNoversion | 有符號 32 位整數,可用於確保即使高優先級隊列不為空,有時也能執行低優先級線程。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Parsing \ Short \ StackSizeKB | ssNoversion | 一種 32 位有符號整數,可用於調整線程執行期間的內存分配。 | 64 * 邏輯處理器數 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Process \ Concurrency | double | 一個雙精度浮點值,確定用於設置可同時排隊的線程數目標的算法。 | 2.0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 並發用於初始化線程池,這些線程池使用 Windows 中的 IO 完成端口來實施。 有關詳細信息,請參閱 I/O 完成端口 。 |
Process \ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置處理線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 |
Process \ MaxThreads | ssNoversion | 有符號 32 位整數,用於指定線程池中要包含的最大線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,服務器將此值設置為絕對值 64,或邏輯處理器數,取兩者中的較大值。 例如,在啟用超線程的 64 核系統上(一共 128 個邏輯處理器),線程池最大值是 128 個線程。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果您已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 MaxThreads 設置為 -10,則線程池的上限將為 10 乘以 8(即 80 個線程)。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 |
Process \ MinThreads | ssNoversion | 一種 32 位有符號整數,用於指定為線程池預分配的最小線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,最小值為 1。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 |
Process \ PriorityRatio | ssNoversion | 有符號 32 位整數,可用於確保即使高優先級隊列不為空,有時也能執行低優先級線程。 | 2 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Process \ StackSizeKB | ssNoversion | 一種 32 位有符號整數,可用於調整線程執行期間的內存分配。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Query \ Concurrency | double | 一個雙精度浮點值,確定用於設置可同時排隊的線程數目標的算法。 | 2.0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 並發用於初始化線程池,這些線程池使用 Windows 中的 IO 完成端口來實施。 有關詳細信息,請參閱 I/O 完成端口 。 |
Query \ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置處理線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 |
Query \ MaxThreads | ssNoversion | 有符號 32 位整數,用於指定線程池中要包含的最大線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,服務器將此值設置為絕對值 10 或邏輯處理器數的 2 倍,以較大者為准。 例如,在 4 核超線程系統上,最大線程數 16。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果您已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 MaxThreads 設置為 -10,則線程池的上限將為 10 乘以 8(即 80 個線程)。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 |
Query \ MinThreads | ssNoversion | 一種 32 位有符號整數,用於指定為線程池預分配的最小線程數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,最小值為 1。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 可在 Analysis Services 操作指南中找到有關優化線程池設置的詳細信息。 |
Query \ PriorityRatio | ssNoversion | 有符號 32 位整數,可用於確保即使高優先級隊列不為空,有時也能執行低優先級線程。 | 2 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
Query \ StackSizeKB | ssNoversion | 一種 32 位有符號整數,可用於調整線程執行期間的內存分配。 | 0 | 這是一項高級屬性,除非有 Microsoft 技術支持的指導,否則不應更改此屬性。 |
VertiPaq \ CPUs | ssNoversion | 一種 32 位有符號整數,用於指定要用於表格查詢的最大處理器數。 | 0 | 0 指示由服務器確定默認值。 默認情況下,服務器將此值設置為絕對值 10 或邏輯處理器數的 2 倍,以較大者為准。 例如,在 4 核超線程系統上,最大線程數 16。 如果將此值設置為負值,則服務器將該值乘以邏輯處理器數。例如,當在具有 32 個邏輯處理器的服務器上設置為 -10 時,最大值是 320 個線程。 最大值取決於按以前定義的任何自定義關聯掩碼可用的處理器數。 例如,如果您已將線程池關聯設置為使用 32 個處理器中的 8 個,並且現在將 MaxThreads 設置為 -10,則線程池的上限將為 10 乘以 8(即 80 個線程)。 服務啟動時,此線程池屬性所使用的實際值即會寫入 msmdsrv log 文件。 |
VertiPaq \ GroupAffinity | string | 一個十六進制值的數組,這些值與系統上的處理器組相對應,用於設置處理線程與每個處理器組中的邏輯處理器的關聯。 | none | 可以使用此屬性創建自定義關聯。 該屬性默認為空。 有關詳細信息,請參閱 設置 GroupAffinity 以便將線程關聯到處理器組中的處理器 。 僅適用於表格。 |