安裝與升級 > 安裝 ThingWorx > 手動安裝 > 安裝附錄 > platform-settings.json 組態詳細資訊
platform-settings.json 組態詳細資訊
管理員可使用 platform-settings.json 檔案調整微調設定,該檔案可在軟體下載中找到。如需高可用性叢集的特定設定,請參閱 ThingWorx HA 的平台設定
* 
以下範例包含所有選項。只有一個持續性提供者為必填。
{
"PlatformSettingsConfig": {
"BasicSettings": {
"BackupStorage": "/ThingworxBackupStorage",
"DatabaseLogRetentionPolicy": 7,
"DatabaseWriteRetryAttempts": 10,
"EnableBackup": true,
"EnableClusteredMode": false,
"EnableSystemLogging": false,
"EnableSSO": false,
"FileRepositoryRoot": "/ThingworxStorage",
"HTTPRequestHeaderMaxLength": 2000,
"HTTPRequestParameterMaxLength": 2000,
"InternalAesCryptographicKeyLength": 128,
"MetricsLoggingFrequency": 30,
"MetricsLoggingLevel": "WARN",
"MetricsReportingEnabled": true,
"SessionUpdateDelay": 60,
"Storage": "/ThingworxStorage",
"ScriptTimeout": 30,
"MaxSearchItems": 100000
},
"DomainConfiguration": {
"trustedDomains":[
"www.example1.com",
"www.example2.com",
"images.example3.com",
"localhost"
],
"ignoreTrustedDomains": false
}
"SolutionCentralSettings": {
"SolutionCentralHost": "<Solution Central host name>",
"KeyStorePath": "<Path for your keystore>",
"KeyStorePass": "<Password for your keystore>"
},
"AdministratorUserSettings": {
"InitialPassword": "changeme"
},
"ContentTypeSettings": {
"supportedMediaEntityContentTypes" : ["image/svg+xml","image/png","image/gif","image/bmp","image/jpeg","application/pdf","image/vnd.microsoft.icon"]
},
"OrchestrationSettings": {
"EnableOrchestration": true,
"QueueHost": "localhost",
"QueuePort": 5672,
"QueueName": "256mb",
"QueueUsername": "flowuser",
"QueuePassword": "encrypt.queue.password",
"QueueVHost": "orchestration",
"TurnOffScopesApprovalPopup": true
},
"ExtensionPackageImportPolicy": {
"importEnabled": false,
"allowJarResources": false,
"allowJavascriptResources": false,
"allowCSSResources": false,
"allowJSONResources": false,
"allowWebAppResources": false,
"allowEntities": false,
"allowExtensibleEntities": false,
"haCompatibilityImportLevel": "WARN"
},
"ClusteredModeSettings": {
"PlatformId": "platform1",
"CoordinatorHosts": "localhost:2181",
"ModelSyncPollInterval": 100
},
"LicensingConnectionSettings": {
"username": "<username>",
"password": "<password>",
"timeout":"60",
"useProxy": false,
"proxyHost": "<proxyHost>",
"proxyPort" : "<proxy port>",
"proxyScheme": "<http or https>",
"proxyUseNTLM": true,
"proxyUsername": "<user>",
"proxyPassword": "<user password>",
"proxyWorkstation": "<dummyWorkstation>",
"proxyDomain": "<dummyDomain>"
},
"MetricsUserSettings": {
"InitialPassword": "<password>"
},
"PersistenceProviderPackageConfigs": {
"H2PersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 30,
"acquireRetryDelay": 1000,
"checkoutTimeout": 2000,
"networkTimeout": 900000,
"idleConnectionTestPeriod": 6,
"initialPoolSize": 10,
"maxConnectionAge": 0,
"maxIdleTime": 0,
"maxIdleTimeExcessConnections": 36000,
"maxPoolSize": 100,
"maxStatements": 0,
"maxStatementsPerConnection": 50,
"minPoolSize": 10,
"numHelperThreads": 6,
"password": "password",
"tableLockTimeout": 10000,
"testConnectionOnCheckout": false,
"unreturnedConnectionTimeout": 0,
"username": "twadmin"
},
"StreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 250000,
"maximumWaitTime": 10000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 10000,
"maximumQueueSize": 500000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
"producerTimeout": 30000,
}
},
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 3,
"acquireRetryDelay": 10000,
"checkoutTimeout": 1000000,
"networkTimeout": 900000,
"queryTimeout": 600000,
"driverClass": "org.postgresql.Driver",
"fetchSize": 5000,
"idleConnectionTestPeriod": 60,
"initialPoolSize": 5,
"jdbcUrl": "jdbc:postgresql://localhost:5432/thingworx",
"maxConnectionAge": 0,
"maxIdleTime": 0,
"maxIdleTimeExcessConnections": 300,
"maxPoolSize": 100,
"maxStatements": 100,
"minPoolSize": 5,
"numHelperThreads": 8,
"password": "password",
"testConnectionOnCheckout": false,
"unreturnedConnectionTimeout": 0,
"username": "twadmin"
},
"StreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 250000,
"maximumWaitTime": 10000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 500000,
"maximumWaitTime": 10000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
"producerTimeout": 30000,
}
},
"MssqlPersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 3,
"acquireRetryDelay": 10000,
"checkoutTimeout": 1000000,
"networkTimeout": 900000,
"queryTimeout": 600000,
"driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"fetchSize": 5000,
"idleConnectionTestPeriod": 60,
"initialPoolSize": 5,
"jdbcUrl": "jdbc:sqlserver://localhost:1433;databaseName=thingworx;applicationName=Thingworx;",
"maxConnectionAge": 0,
"maxIdleTime": 0,
"maxIdleTimeExcessConnections": 300,
"maxPoolSize": 100,
"maxStatements": 100,
"minPoolSize": 5,
"numHelperThreads": 8,
"password": "Password@123",
"testConnectionOnCheckout": false,
"unreturnedConnectionTimeout": 0,
"username": "msadmin"
},
"StreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 250000,
"maximumWaitTime": 10000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 10000,
"maximumQueueSize": 500000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
"producerTimeout": 30000,
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
"producerTimeout": 30000,
}
}
},
"cache": {
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"ignite": {
"instance-name": "twx-core-server",
"client-mode": false,
"address-resolver": {
"type": "zookeeper",
"connection": "localhost:2181"
}
}
}
}
}
* 
只能從 ThingWorx 9.2.8 及更新版本與 ThingWorx 9.3.3 及更新版本中使用 networkTimeoutqueryTimeoutproducerTimeout 參數。
platform-settings.json 設定
基本設定 
設定
預設
描述
BackupStorage
/ThingworxBackupStorage
所有備份寫入的目錄名稱。
DatabaseLogRetentionPolicy
7
資料庫記錄檔保留的天數。
DatabaseWriteRetryAttempts
10
系統在連線中斷的情況下重試持續項目的嘗試次數上限。
EnableBackup
true
確定是否保留備份。
EnableClusteredMode
false
決定 ThingWorx 將作為叢集還是獨立伺服器執行。
EnableSystemLogging
false
確定是否啟用系統記錄。
* 
除非經 ThingWorx 支援人員指示,否則請勿開啟這項設定。
EnableSSO
false
設定為 true 來為 ThingWorx Platform 啟用 SSO。啟用 SSO 後,所有驗證會重新導向至在 sso-settings.json 檔案中配置的中央授權伺服器。Edge WebSocket 驗證不會受到影響。
FileRepositoryRoot
/ThingworxStorage
建立根檔案存放庫的目錄。預設位置對於獨立部署而言已經足夠。ThingWorx HA 部署的存放庫應位於所有 ThingWorx 伺服器皆可存取的共用檔案系統。
HTTPRequestHeaderMaxLength
2000
HTTP 請求標題值的最大允許長度。
HTTPRequestParameterMaxLength
2000
HTTP 請求參數值的最大允許長度。
InternalAesCryptographicKeyLength
128
產生對稱的 AES 金鑰時使用的金鑰長度。支援的值為 128、192 與 256。
* 
如果金鑰長度大於 128,並且 Java 原則未配置為使用該金鑰大小,則加密及解除加密將會失敗。
MetricsLoggingFrequency
30
將平台收集的指標記錄到應用程式記錄檔中的頻率 (以分鐘為單位)。
MetricsLoggingLevel
WARN
將平台收集的指標記錄到應用程式記錄檔中的記錄層級。值可以是下列其中之一:WARNDEBUGTRACEINFOERROR
MetricsReportingEnabled
n/a
決定是否將效能指標資料傳送給 PTC。您也可以在「平台子系統」中配置此選項。如需有關 ThingWorx 中資料收集的詳細資訊,請參閱 ThingWorx 中的資料收集
SessionUpdateDelay
60
新增至 lastUpdateTime 的時間量 (以秒為單位),工作階段的 lastUpdateTime 會在此時間之後更新。如果在延遲期間收到多個請求,只有第一個請求會更新 lastUpdateTime。預設值為 60 秒。
Storage
/ThingworxStorage
建立/放置所有儲存目錄 (備份儲存除外) 所在的目錄。
ScriptTimeout
30
指令集在 ThingWorx 平台終止指令集之前可以執行的最大秒數。
* 
如果指令集執行時間超過為此逾時配置的秒數,則會自動終止平台上的指令集。
* 
請考慮在配置逾時持續時間時,由指令集處理之資訊的敏感度與/或重要性。雖然基於安全性原因,在指定期間之後終止指令集很重要,但過早執行此操作可能會導致資料遺失。基於 ThingWorx 平台的彈性,有些使用案例可能需要比預設更短或更長的逾時期間。
MaxSearchItems
100000
允許使用者根據存在於環境中的實體數增加預設搜尋限制。
在 ThingWorx Composer 中由 SearchFunctions 資源群組 API 設定的 MaxSearchItems 將優先於在 platform-settings.json 中設定的值。
如果將 MaxSearchItems 設定為大於 100k,請根據使用案例傳遞適當的搜尋條件,以減少擷取所需實體數的搜尋時間。
* 
根據 ThingWorx Platform 中的實體數設定 MaxSearchItems 參數。請勿設定為最大整數值:2,147,483,647。
* 
重新啟動 ThingWorx 環境以套用新 MaxSearchItems 值。
網域組態設定 
設定
預設
描述
ignoreTrustedDomains
true
如果此旗標設定為 true,則允許透過媒體實體進行所有外部 HTTP 呼叫。如果設定為 false,則僅允許對 trustedDomains 下列出的網域進行 HTTP 呼叫。
trustedDomains
NA
已核對與信任的網域清單,使用者可用來透過媒體實體物件存取混搭上的媒體。
* 
目前僅支援 HTTP 與 HTTPS 通訊協定。隨時都會拒絕透過其他任何通訊協定向外部媒體提出的請求
解決方案中心設定 
設定
預設
描述
SolutionCentralHost
sc.thingworx.com
解決方案中心主機名稱。
SolutionCentralPort
443
解決方案中心埠詳細資訊。
* 
如果 SolutionCentralPort 有預設值,請勿予以設定。
KeyStorePath
/ThingworxPlatform/sc-keystore
keystore 的路徑。
KeyStorePass
keystore 的密碼。
* 
如需加密密碼,請將 KeyStorePass 設定為 encrypt.sc.password
ThingWorx Flow 設定 
只有在 ThingWorx Foundation 中已安裝 ThingWorx Flow 的情況下,這些內容才適用。必須在 ThingWorx Flow 與 RabbitMQ 組態檔案中定義這些值,除非跨兩個應用程式變更,否則不得編輯這些值。
設定
預設
描述
EnableOrchestration
true
指示是否在 ThingWorx Foundation 中啟用 ThingWorx Flow。
QueueHost
本機主機
RabbitMQ 主機名稱
QueuePort
5672
RabbitMQ 埠
QueueName
256mb
RabbitMQ 佇列名稱
QueueUsername
flowuser
RabbitMQ 佇列使用者名稱
QueuePassword
encrypt.queue.password
RabbitMQ 佇列密碼
* 
當在與 ThingWorx Foundation 相同的電腦中安裝 ThingWorx Flow 時,會自動加密密碼。
如果在與 ThingWorx Foundation 不同的電腦中安裝 ThingWorx Flow,您需要加密此密碼
QueueVHost
orchestration
RabbitMQ VHost 名稱
TurnOffScopesApprovalPopup
false
將值設定為 true 可在登入過程中停止取得授與核准視窗。
延伸功能封裝匯入原則設定 
依預設,延伸功能匯入針對所有使用者皆為禁用。請使用下列設定來配置延伸功能匯入功能。如需詳細資訊,請參閱匯入延伸功能
設定
描述
預設
範例
importEnabled
表示匯入 (=true) 或不匯入 (=false) 延伸功能能力的頂層控制項。
false
"importEnabled": false - 即使其他 ExtensionPackageImportPolicy 設定都設為 true,也無法匯入延伸功能。
"importEnabled": true - 將延伸功能匯入傳送至下一組 allow<Content>Resources 設定 (請參閱以下列)。
* 
如果 allow<Content>Resources 設定為 false,則可匯入空白延伸功能 (無實體、可延伸實體或資源)。因為這可能不是實用的組態,如果 importEnabled 設為 true,至少其他一個 allow<Content>Resources 也應該設定為 true。
allowJarResources
允許匯入含有 Jar 資源的延伸功能。
false
"allowJarResources": true - 允許匯入在資訊清單中將 jar 檔案宣告為 jar 資源的延伸功能。
"allowJarResources": false - 不允許匯入在資訊清單中將 jar 檔案宣告為 jar 資源的延伸功能。
allowJavascriptResources
允許匯入含有 JavaScript 資源的延伸功能。
false
"allowJavascriptResources": true - 允許匯入在資訊清單中將 JS 類型的 JavaScript UI 檔案資源宣告為 JavaScript 資源的延伸功能。
"allowJavascriptResources": false - 不允許匯入在資訊清單中將 JS 類型的 JavaScript UI 檔案資源宣告為 JavaScript 資源的延伸功能。
allowCSSResources
允許匯入含有 CSS 資源的延伸功能。
false
"allowCSSResources": true - 允許匯入包含 CSS UI 檔案資源的延伸功能。
"allowCSSResources": false - 不允許匯入包含 CSS UI 檔案資源的延伸功能。
allowJSONResources
允許匯入含有 JSON 資源 (例如當地語系化檔案) 的延伸功能。
false
"allowJSONResources": true - 允許匯入包含 JSON UI 檔案資源的延伸功能。
"allowJSONResources": false - 不允許匯入包含 JSON UI 檔案資源的延伸功能。
allowWebAppResources
允許匯入含有 Web 資源的延伸功能。
false
"allowWebAppResources": true - 允許匯入包含 WebApp UI 檔案資源的延伸功能。
"allowWebAppResources": false - 不允許匯入包含 WebApp UI 檔案資源的延伸功能。
allowEntities
允許匯入含有非可延伸實體的延伸功能。非可延伸實體的範例包括:
應用程式金鑰
驗證器
儀表板
資料分析定義
資料形式
GenericContentEntity 與衍生的子類別,例如狀態定義、樣式定義、樣式主題
群組
當地語系化表
記錄檔
混搭
媒體實體
功能表
ModeledServiceProviderEntity 與子類別,例如通知內容
網路
通知定義
組織
持續性提供者
PersistenceProviderPackage 與衍生的子類別
專案
物形式
物範本
使用者
詞彙與衍生的子類別,例如 DataTagVocabulary、ModelTagVocabulary
false
"allowEntities": true - 允許匯入在資訊清單中宣告非可延伸實體的延伸功能。
"allowEntities": false - 不允許匯入在資訊清單中宣告非可延伸實體的延伸功能。
allowExtensibleEntities
允許匯入含有非可延伸實體的延伸功能。可延伸實體的範例包括:
DirectoryService 與衍生的子類別
ExtensionPackage
包含自訂功能/服務的資源與衍生子類別,這些功能/服務可作為與 OOTB 資源類似的資源使用,例如 InfoTableFunctions、EntityServices 與 EncryptionServices。
* 
不屬於延伸功能一部份的 OOTB 子系統不會受到影響。
ScriptFunctionLibrary 與衍生的子類別。
子系統與衍生的子類別。
* 
不屬於延伸功能一部份的 OOTB 子系統不會受到影響。
物件封裝
小器具
false
"allowExtensibleEntities": true - 允許匯入在資訊清單中宣告可延伸實體的延伸功能。
"allowExtensibleEntities": false - 不允許匯入在資訊清單中宣告可延伸實體的延伸功能。
haCompatibilityImportLevel
當在叢集模式下執行 ThingWorx 時,您可以將匯入延伸功能限制為僅匯入延伸功能中繼資料中 haCompatibility 旗標設定為 true 的延伸功能。預設設定為 WARN,此設定允許匯入,但會在應用程式記錄檔中產生警告訊息。您可以將設定變更為 DENY;在此情況下,匯入會失敗,並會在應用程式記錄檔中產生錯誤。
WARN
"haCompatibilityImportLevel": "WARN" - 延伸功能匯入已成功,並會針對未設定 "haCompatible" : "TRUE" 的延伸功能產生警告。
"haCompatibilityImportLevel": "DENY" - 只會匯入具有 "haCompatible" : "TRUE" 的延伸功能。其他所有延伸功能匯入都將失敗,並會產生錯誤訊息。
叢集模式設定 
在叢集模式下執行 ThingWorx 的特有設定。如果上述 EnableClusteredMode 設定設為 false,則會略過所有設定。
設定
預設
描述
PlatformId
none
叢集中每個節點的唯一識別元。此 ID 將會顯示在彙總的記錄檔中。它必須為字母數字且小於 32 個字元。它應該與模式 "^[a-zA-Z0-9]{1,32}$" 相符。
CoordinatorHosts
none
用來協調 ThingWorx 主導權選擇的 Apache ZooKeeper 伺服器的逗號分隔清單。字串模式是 IP:port。(例如 "127.0.0.1:2181,127.0.0.2:2181")。
ZKNamespace
ThingWorx
用來在 ZooKeeper 中追蹤叢集資訊的根節點路徑。當使用相同的 ZooKeeper 執行多個叢集時,需要此設定。ZooKeeper 有命名限制;請參閱 http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkDataModel
ModelSyncPollInterval
100
模型在叢集中的伺服器之間同步處理的頻率。值以毫秒為單位。
ModelSyncWaitPeriod
3000
當透過 WebSocket 通訊時,會以循環配置資源的方式跨伺服器路由流量。如果透過 WebSocket 進行模型變更,下一個請求將會等到為模型指定的時間 (以毫秒為單位) 之後,才在其所在的任何伺服器上進行同步處理。如果在逾時之前沒有進行同步處理,請求將失敗並顯示逾時錯誤。
ModelSyncTimeout
120000
為每個重試嘗試等待的時間長度 (毫秒)。
CoordinatorMaxRetries
3
如果無法與協調器通訊,它會在失敗前重試 n 次。
CoordinatorSessionTimeout
90000
ThingWorx 等待而不會從用來協調 ThingWorx 主導權的 Apache ZooKeeper 服務收到 "heartbeat" 的時間長度 (以毫秒計)。
CoordinatorConnectionTimeout
10000
系統將等待與協調器連線的時間量 (以毫秒為單位)。
MetricsCacheFrequency
60000
系統會追蹤每個伺服器的指標,並針對叢集層級指標進行彙總。此值為更新叢集指標的頻率 (以毫秒為單位)。
管理員使用者設定 
設定
預設
描述
InitialPassword
n/a
第一次登入 ThingWorx 時所需的初始管理員密碼。最小長度可以在使用者管理子系統中配置 (最小值 10 個字元,預設為 14 個字元)。如需詳細資訊,請參閱。
內容類型設定 
設定
預設
描述
supportedMediaEntityContentTypes
"image/svg+xml","image/png","image/gif","image/bmp","image/jpeg","application/pdf","image/vnd.microsoft.icon"
可動態連結至「媒體」實體之有效 MIME 內容類型的逗號分隔清單。可以新增其他類型。
* 
如果內容類型來自不同伺服器,而且不是受支援的類型,則會將內容下載為用戶端電腦上的檔案,而不是以媒體實體串流。
授權連線設定 
設定
預設
描述
username
n/a
PTC 支援網站使用者名稱
password
n/a
PTC 支援網站密碼
timeout (秒)
60
在逾時期間之後,「應用程式記錄檔」中會記錄下列錯誤:
License Server could not process request
useProxy
false
針對授權啟用 proxy 設定。如果設定為 true,會使用 proxy 設定來連線至授權伺服器。
proxyHost
Proxy 主機的名稱。
proxyPort
Proxy 主機的埠號。
proxyScheme
http
httphttps
proxyUsername
如果 proxy 伺服器連線需要驗證,則為驗證的使用者名稱。
proxyPassword
如果 proxy 伺服器連線需要驗證,則為驗證的使用者密碼。
* 
如需有關為此值加密的資訊,請參閱加密密碼
proxyUseNTLM
false
使用 NTLM 通訊協定的選項。
proxyWorkstation
如果需要 NTLM 驗證,則為網路上使用者電腦的名稱。
proxyDomain
如果需要 NTLM 驗證,則為使用者網域的名稱。
指標使用者設定 
設定
預設
描述
InitialPassword
在系統啟動期間建立 MetricsUser,並由 Prometheus 伺服器用來從 ThingWorx 實例抓取指標資訊。這是所有 MSAI 部署所必需的,但對其他所有類型的部署而言則為選用。
持續性提供者設定 
針對以下列出的所有資料庫,應遵循下列指導原則,來取得值串流處理器設定與串流處理器設定:
StreamProcessorSettings.numberOfProcessingThreads + ValueStreamProcessorSettings.numberOfProcessingThreads < 50% of DB connection pool
And
ValueStreamProcessorSettings.numberOfProcessingThreads >= StreamProcessorSettings.numberOfProcessingThreads
H2PersistenceProviderPackage
設定
預設
描述
連線資訊
acquireIncrement
5
決定 ThingWorx 在集區耗盡時會試著一次擷取的連線數。
acquireRetryAttempts
30
定義 ThingWorx 在放棄之前會試著從資料庫擷取新連線的次數。
acquireRetryDelay
1000
ThingWorx 在取得嘗試之間等待的時間 (以毫秒計)。
checkoutTimeout
1000000
呼叫 getConnection() 的用戶端在集區耗盡時,等候連線入庫或擷取的毫秒數。
Network Timeout
900000
執行緒等待資料庫回應的時間量 (以毫秒為單位)。
如果在此配置的時間內未收到回應,平台將會關閉基礎連線,並釋放等待回應的執行緒。
idleConnectionTestPeriod
6
測試連線以使閒置連線不會從外部程序 (例如防火牆等) 關閉的時段 (以秒計)。如果這是一個大於 0 的數字,則 ThingWorx 會測試所有閒置、進入集區但未出庫的連線,每 x 秒鐘測試一次。
* 
如果您遇到「模型提供者沒有連線」錯誤,請審核此設定。比較防火牆預設值。降低預設值將緩解中斷問題。
initialPoolSize
10
啟動時集區中建立及維護的資料庫連線初始數目。應介於 minPoolSizemaxPoolSize 之間。
maxConnectionAge
0
有效存留時間的秒數。超過 maxConnectionAge 的連線會被銷毀並從集區中清除。
maxIdleTime
0
在遭到捨棄之前,連線可維持已緩衝而未使用狀態的秒數。零表示閒置連線從不會過期。
maxIdleTimeExcessConnections
36000
允許超過 minPoolSize 的連線在選擇之前在集區中保持閒置的秒數。適用於想要最大程度減少開啟連線數的應用程式,如果在出現峰值之後,載入層級減少並且不再需要擷取的連線,則將集區壓縮回 minPoolSize。如果設定 maxIdleTimemaxIdleTimeExcessConnections 應更小,才能產生一定作用。將此項目設定為零表示未執行,且多餘的連線不會閒置。
maxPoolSize
100
集區在任意指定時間保持的最大連線數。
maxStatements
0
ThingWorx 全域 PreparedStatement 快取的大小。
maxStatementsPerConnection
50
每個連線之 ThingWorx 全域 PreparedStatement 快取的大小。
minPoolSize
5
集區在任意指定時間保持的最小連線數。
numHelperThreads
6
產生的協助程式執行緒數。慢速的 JDBC 作業通常是由無抗衡鎖定機制的協助程式執行緒執行。將這些作業分佈到多個執行緒即可同步執行多項作業,從而大幅提升效能。
password
n/a
資料庫密碼。
username
twadmin
資料庫使用者名稱。
tableLockTimeout
10000
用戶端等待資料庫表格解除鎖定的毫秒數。
testConnectionOnCheckout
false
若為 true,會在每個連線出庫時執行作業來核對連線是否有效。
unreturnedConnectionTimeout
0
等待來自無反應連線 (在捨棄之前) 之回應的秒數。若已設定,在應用程式出庫但無法在指定時段內入庫連線時,集區將捨棄該連線。這可以讓偶爾發生連線洩露的應用程式存活,而不是最終耗盡連線集區。零表示沒有逾時,應用程式應關閉自己的連線。
StreamProcessorSettings
maximumBlockSize
2500
單一區塊中待處理的最大串流寫入數。
maximumQueueSize
250000
待排入佇列 (之後將被拒絕) 的最大串流項目數。
maximumWaitTime
10000
排清串流緩衝之前的最大等候時間 (以毫秒計)。
numberOfProcessingThreads
5
處理內容時要使用的執行緒數。
scanRate
5
檢查緩衝狀況的速率 (以毫秒計)。
sizeThreshold
1000
排清串流緩衝之前的累計最大項目數。
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
ValueStreamProcessorSettings
maximumBlockSize
2500
單一區塊中待處理的最大串流寫入數。
maximumQueueSize
250000
待排入佇列 (之後將被拒絕) 的最大串流項目數。
maximumWaitTime
10000
排清串流緩衝之前的最大等候時間 (以毫秒計)。
numberOfProcessingThreads
5
處理內容時要使用的執行緒數。
scanRate
5
檢查緩衝狀況的速率 (以毫秒計)。
sizeThreshold
1000
排清串流緩衝之前的累計最大項目數。
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
單一區塊中待處理的最大內容寫入數。
maximumWaitTime
1000
排清內容緩衝之前的最大等候時間 (以毫秒計)。
maximumQueueSize
100000
待排入佇列 (之後將被拒絕) 的最大內容項目數。
numberOfProcessingThreads
20
處理內容時要使用的執行緒數。
scanRate
25
檢查緩衝狀況的速率 (以毫秒計)。
sizeThreshold
1000
排清內容緩衝之前的累計最大項目數。
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
PostgresPersistenceProviderPackage
設定
預設
描述
ConnectionInformation
acquireIncrement
5
決定平台在集區耗盡時會試著一次擷取的連線數。
acquireRetryAttempts
3
定義 ThingWorx 在放棄之前會試著從資料庫擷取新連線的次數。
acquireRetryDelay
10000
ThingWorx 在取得嘗試之間等待的時間 (以毫秒計)。
checkoutTimeout
10000000
呼叫 getConnection() 的用戶端在集區耗盡時,等候連線入庫或擷取的毫秒數。
Query Timeout
600000
在取消查詢之前查詢將等待完成的時間量 (以毫秒為單位)。
Network Timeout
900000
執行緒等待資料庫回應的時間量 (以毫秒為單位)。
如果在此配置的時間內未收到回應,平台將會關閉基礎連線,並釋放等待回應的執行緒。
driverClass
org.postgresql.Driver
預期提供連線的 JDBC driverClass 的完整類別名稱。
fetchSize
5000
要批量擷取的列計數,而不是快取用戶端的所有列。
idleConnectionTestPeriod
60
如果這是一個大於 0 的數字,則 ThingWorx 會測試所有閒置、進入集區但未出庫的連線,每 x 秒鐘測試一次。
initialPoolSize
5
啟動時集區中建立及維護的資料庫連線初始數目。應介於 minPoolSizemaxPoolSize 之間。
jdbcUrl
jdbc:postgresql://localhost:5432/thingworx
用來連線至 PostgreSQL 的 JDBC URL。
* 
如果預設結構描述名稱會變更 (從公開),您必須新增 <資料庫名稱>?currentSchema=<結構描述名稱>。例如,如果結構描述名稱為 mySchema,則將為: jdbc:postgresql://<DBServer>:<DBPort>/<databasename>?currentSchema=mySchema
* 
如果您要配置 HA 解決方案,這應反映執行 pgPool 程序的伺服器 IP。將埠變更為 pgPool 所服務的埠。
maxConnectionAge
0
有效存留時間的秒數。超過 maxConnectionAge 的連線會被銷毀並從集區中清除。
maxIdleTime
0
在遭到捨棄之前,連線可維持已緩衝而未使用狀態的秒數。零表示閒置連線從不會過期。
maxIdleTimeExcessConnections
300
允許超過 minPoolSize 的連線在揀選之前在集區中保持閒置的秒數。適用於想要最大程度減少開啟連線數的應用程式,如果在出現峰值之後,載入層級減少並且不再需要擷取的連線,則將集區壓縮回 minPoolSize。如果設定 maxIdleTimemaxIdleTimeExcessConnections 應更小,才能產生一定作用。將此項目設定為零表示未執行,且多餘的連線不會閒置。
maxPoolSize
100
集區在任意指定時間保持的最大連線數。
maxStatements
100
ThingWorx 全域 PreparedStatement 快取的大小。
minPoolSize
5
集區在任意指定時間保持的最小連線數。
numHelperThreads
8
產生的協助程式執行緒數。慢速的 JDBC 作業通常是由無抗衡鎖定機制的協助程式執行緒執行。將這些作業分佈到多個執行緒即可同步執行多項作業,從而大幅提升效能。
password
<具唯一性的密碼>
用來登入資料庫的密碼。
testConnectionOnCheckout
false
若為 true,會在每個連線出庫時執行作業來核對連線是否有效。
unreturnedConnectionTimeout
0
等待來自無反應連線 (在捨棄之前) 之回應的秒數。若已設定,在應用程式出庫但無法在指定時段內入庫連線時,集區將捨棄該連線。這可以讓偶爾發生連線洩露的應用程式存活,而不是最終耗盡連線集區。零表示沒有逾時,應用程式應關閉自己的連線。
username
twadmin
具有表格修改權限的使用者。這是在 ThingWorx 伺服器的資料庫上建立的使用者。
* 
欲變更 PostgreSQL 密碼:請變更此使用者的密碼,此外也要變更 platform-settings.json 檔案中的未加密密碼設定或 /ThingworxStorage/keystore.jks 金鑰庫中的加密值。
串流處理器設定
maximumBlockSize
2500
單一區塊中待處理的最大串流寫入數。
maximumQueueSize
250000
待排入佇列 (之後將被拒絕) 的最大串流項目數。
maximumWaitTime
10000
系統在排清串流緩衝之前的等候時間數 (以毫秒計)
numberOfProcessingThreads
5
處理執行緒數
scanRate
5
系統會以指定速率值 (以毫秒計) 檢查緩衝區狀況。
sizeThreshold
1000
排清串流緩衝之前的累計最大項目數
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
值串流處理器設定
maximumBlockSize
2500
單一區塊中待處理的最大值串流寫入數
maximumQueueSize
500000
待排入佇列 (之後將被拒絕) 的最大值串流項目數。
maximumWaitTime
10000
系統在排清值串流緩衝之前的等候時間數 (以毫秒計)
numberofProcessingThreads
5
處理執行緒數
scanRate
5
排清串流緩衝之前的速率 (以毫秒計)。
sizeThreshold
1000
排清值串流緩衝之前的累計最大項目數
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
單一區塊中待處理的最大內容寫入數。
maximumWaitTime
1000
排清內容緩衝之前的最大等候時間 (以毫秒計)。
maximumQueueSize
100000
待排入佇列 (之後將被拒絕) 的最大內容項目數。
numberOfProcessingThreads
20
處理內容時要使用的執行緒數。
scanRate
25
檢查緩衝狀況的速率 (以毫秒計)。
sizeThreshold
1000
排清內容緩衝之前的累計最大項目數。
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
MssqlPersistenceProviderPackage
設定
預設
描述
ConnectionInformation
acquireIncrement
5
決定 ThingWorx 在集區耗盡時會試著一次擷取的連線數。
acquireRetryAttempts
3
定義 ThingWorx 在放棄之前會試著從資料庫擷取新連線的次數。
acquireRetryDelay
10000
ThingWorx 在取得嘗試之間等待的時間 (以毫秒計)。
checkoutTimeout
1000000
呼叫 getConnection() 的用戶端在集區耗盡時,等候連線入庫或擷取的毫秒數。
driverClass
com.microsoft.sqlserver.jdbc.SQLServerDriver
預期提供連線的 JDBC driverClass 的完整類別名稱。
fetchSize
5000
要批量擷取的列計數,而不是快取用戶端的所有列。
idleConnectionTestPeriod
60
測試連線以使閒置連線不會從外部程序 (例如防火牆等) 關閉的時段 (以秒計)。如果這是一個大於 0 的數字,則 ThingWorx 會測試所有閒置、進入集區但未出庫的連線,每 x 秒鐘測試一次。
* 
如果您遇到「模型提供者沒有連線」錯誤,請審核此設定。比較防火牆預設值。降低預設值將緩解中斷問題。
initialPoolSize
5
啟動時集區中建立及維護的資料庫連線初始數目。應介於 minPoolSizemaxPoolSize 之間。
jdbcUrl
jdbc:sqlserver://localhost:1433;databaseName=thingworx;applicationName=Thingworx;
用來連接至 MSSQL 的 jdbc url。
maxConnectionAge
0
有效存留時間的秒數。超過 maxConnectionAge 的連線會被銷毀並從集區中清除。
maxIdleTime
0
在遭到捨棄之前,連線可維持已緩衝而未使用狀態的秒數。零表示閒置連線從不會過期。
maxIdleTimeExcessConnections
300
允許超過 minPoolSize 的連線在揀選之前在集區中保持閒置的秒數。適用於想要最大程度減少開啟連線數的應用程式,如果在出現峰值之後,載入層級減少並且不再需要擷取的連線,則將集區壓縮回 minPoolSize。如果設定 maxIdleTimemaxIdleTimeExcessConnections 應更小,才能產生一定作用。將此項目設定為零表示未執行,且多餘的連線不會閒置。
maxPoolSize
100
集區在任意指定時間保持的最大連線數。
maxStatements
100
ThingWorx 全域 PreparedStatement 快取的大小。
minPoolSize
5
集區在任意指定時間保持的最小連線數。
numHelperThreads
8
產生的協助程式執行緒數。慢速的 JDBC 作業通常是由無抗衡鎖定機制的協助程式執行緒執行。將這些作業分佈到多個執行緒即可同步執行多項作業,從而大幅提升效能。
password
<具唯一性的密碼>
用來登入資料庫的密碼。
testConnectionOnCheckout
false
若為 true,會在每個連線出庫時執行作業來核對連線是否有效。
unreturnedConnectionTimeout
0
等待來自無反應連線 (在捨棄之前) 之回應的秒數。若已設定,在應用程式出庫但無法在指定時段內入庫連線時,集區將捨棄該連線。這可以讓偶爾發生連線洩露的應用程式存活,而不是最終耗盡連線集區。零表示沒有逾時,應用程式應關閉自己的連線。
username
msadmin
這是擁有 TWSCHEMA 結構描述並用來在 JDBC 連線字串中對 MSSQL 進行驗證的使用者 ID。
Query Timeout
600000
在取消查詢之前查詢將等待完成的時間量 (以毫秒為單位)。
Network Timeout
900000
執行緒等待資料庫回應的時間量 (以毫秒為單位)。
如果在此配置的時間內未收到回應,平台將會關閉基礎連線,並釋放等待回應的執行緒。
串流處理器設定
maximumBlockSize
2500
單一區塊中待處理的最大串流寫入數。
maximumQueueSize
250000
待排入佇列 (之後將被拒絕) 的最大串流項目數。
maximumWaitTime
10000
系統在排清串流緩衝之前的等候時間數 (以毫秒計)
numberOfProcessingThreads
5
處理執行緒數
scanRate
5
系統會以指定速率值 (以毫秒計) 檢查緩衝區狀況。
sizeThreshold
1000
排清串流緩衝之前的累計最大項目數
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
值串流處理器設定
maximumBlockSize
2500
單一區塊中待處理的最大值串流寫入數
maximumWaitTime
10000
系統在排清值串流緩衝之前的等候時間數 (以毫秒計)
maximumQueueSize
500000
待排入佇列 (之後將被拒絕) 的最大值串流項目數。
numberofProcessingThreads
5
處理執行緒數
scanRate
5
排清串流緩衝之前的速率 (以毫秒計)。
sizeThreshold
1000
排清值串流緩衝之前的累計最大項目數
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
單一區塊中待處理的最大內容寫入數。
maximumWaitTime
1000
排清內容緩衝之前的最大等候時間 (以毫秒計)。
maximumQueueSize
100000
待排入佇列 (之後將被拒絕) 的最大內容項目數。
numberOfProcessingThreads
20
處理內容時要使用的執行緒數。
scanRate
25
檢查緩衝狀況的速率 (以毫秒計)。
sizeThreshold
1000
排清內容緩衝之前的累計最大項目數。
Producer Timeout
3000
此設定適用於「串流項目處理器」,目前僅針對「持續內容處理器」有效。
當佇列已滿且沒有空間可供新項目使用時,這是生產者將等待將項目置於佇列的最長時間 (毫秒)。此等待時間結束後,如果佇列仍處於已滿狀態且無法提供空間,則項目將無法新增至佇列。
快取設定 
只有在叢集模式下執行 ThingWorx Platform 時,才需要快取設定。
* 
如果您正在執行單一伺服器模式,請將快取設定從組態中排除。如果針對單一伺服器模式包含這些設定,其會使用 Apache Ignite 執行分散式快取模式,此方式的效能比執行預設本機記憶體快取的方式要低。
設定
預設
描述
provider-type
[在單一伺服器模式下執行的快取提供者。]
在叢集模式下,值應一律設定為 com.thingworx.cache.ignite.IgniteCacheProvider
instance-name
none
設定快取的本機實例名稱。
client-mode
true
決定內嵌的 Ignite 是作為用戶端 (預設) 還是伺服器執行。在伺服器模式下,它會參與儲存資料並使用更多的記憶體。
address-resolver
type
static
決定將如何探索其他 Ignite 節點。建議的設定為 zookeeper
connection
none
針對 zookeeperaddress-resolver type,是用來協調 ThingWorx 主導權選擇的 Apache ZooKeeper 伺服器的逗號分隔清單。字串模式是 IP:port (例如 127.0.0.1:2181,127.0.0.2:2181)。
endpoints
none
針對 staticaddress-resolver type,是 Ignite 正在執行的靜態位址陣列。
將「稽核的事件」部份新增至 platform-settings.json 
重新啟動 ThingWorx Platform 時,所有物件都會觸發 ThingStart 事件。稽核所有這些事件會增加平台的啟動時間。為了避免發生這種情況,ThingStart 事件預設為禁用。如果您仍想稽核此動作,可以在 platform-settings.json 檔案中啟用及禁用事件。
platform-settings.json 檔案中並不包含「稽核」的區段。欲啟用或禁用類別與訊息,您需要將 JSON 結構新增至檔案。針對您要稽核其訊息的 ThingWorx Platform 實例,您需要是擁有找出並編輯 platform-settins.json 檔案以及新增適當組態權限的管理員。
* 
您必須將「稽核」部份作為同層級節點新增至 PlatformSettingsConfig 的 JSON 項目。它可位於 PlatformSettingsConfig 節點之前或之後,但不得位於相同節點層級。
以下是位於 platform-settings.json 檔案中 PlatformSettingsConfig 節點之後的稽核結構範例:

"PlatformSettingsConfig:: {
"BasicSettings":( . . .
}
}
"Audit": {
"Disabled": [{
"CategoryKey": "audit.AuditCategory.Collaboration",
"MessageKeys": ["ALL"]
}, {
"CategoryKey": "audit.AuditCategory.Authentication",
"MessageKeys": [
"com.thingworx.things.security.SecurityMonitorThing.LoginSucceeded.Audit",
"com.thingworx.things.security.SecurityMonitorThing.ApplicationKeyFailed.Audit"
]
}
],
"Enabled": [{
"CategoryKey": "audit.AuditCategory.RemoteAccess",
"MessageKeys": ["ALL"]
}, {
"CategoryKey": "audit.AuditCategory.Authentication",
"MessageKeys": [
"thingworx.things.security.SecurityMonitorThing.LoginFailed.Audit" ]
], {
"CategoryKey": "audit.AuditCategory.ThingGroupMemberships",
"MessageKeys": [
"com.thingworx.thinggroups.ThingGroup.AddedThingAsChildMember",
"com.thingworx.thinggroups.ThingGroup.DeletedThingAsChildMember",
"com.thingworx.thinggroups.ThingGroup.AddedThingGroupAsChildMember",
"com.thingworx.thinggroups.ThingGroup.DeletedThingGroupAsChildMember",
"com.thingworx.thinggroups.ThingGroup.DeletedAllChildMembers"
]
}
]
}
在此範例中,COLLABORATION 類別及其事件/訊息的 ["ALL"] 為禁用。針對 AUTHENTICATION 類別,LoginSucceededApplicationKeyFailed 這兩個事件/訊息為禁用。REMOTE_ACCESS 及其事件/訊息的 ["ALL"] 為啟用。針對 AUTHENTICATION 類別,LoginFailed 事件/訊息為啟用。針對 THINGGROUPMEMBERSHIPs,所有稽核訊息均為啟用。這些訊息會單獨列出,而不是使用 ["ALL"]。您可能會想要選擇這種方法來輸入稽核訊息,以便您可以在執行平台實例一段時間之後決定是否需要全部這些訊息。
audit.AuditCategory.ThingGroupMemberships 類別提供有關物群組成員資格變更的稽核訊息。此類別的稽核訊息預設為禁用,因為並非所有組態/部署都需要此類稽核訊息,系統管理員也不想產生這些變更的計算與持續性影響。如果您的組態/部署需要有關物群組成員資格變更的稽核訊息,您可以如上述範例所示啟用它們。您可以啟用或禁用每個稽核訊息的設定,而無需啟用或禁用其他稽核訊息。例如,您可能想要只稽核某些成員資格變更。物群組成員資格的稽核訊息列在本說明中心 ThingWorx 稽核訊息主題的表 122 中。
* 
下列兩種訊息類型的稽核訊息一律處於啟用狀態,不需要明確啟用。當啟用或禁用物群組的可見度權限委派功能時,它們會提供稽核訊息:

com.thingworx.thinggroups.ThingGroup.VisibilityPermissionDelegationEnabled
com.thingworx.thinggroups.ThingGroup.VisibilityPermissionDelegationDisabled
的值。
欲啟用或禁用任何類別與稽核訊息,您可以複製如上所示的結構,並將適當的金鑰新增至 "Disabled" 與/或 "Enabled" 群組。如需逐步程序,請參閱啟用及禁用稽核事件。欲尋找類別與事件訊息的適當金鑰,請參閱本說明中心 ThingWorx 稽核訊息主題中的表 122
這是否有幫助?