安装和配置 > 安装 ThingWorx > 安装附录 > plateform-settings.json 配置详细信息
plateform-settings.json 配置详细信息
plateform-settings.json 文件适用于管理员对设置进行微调,可至软件下载处获取。
* 
以下示例包含所有选项。仅需要一个持久化方案提供工具。
{
"PlatformSettingsConfig": {
"BasicSettings": {
"BackupStorage": "/ThingworxBackupStorage",
"DatabaseLogRetentionPolicy": 7,
"EnableBackup": true,
"EnableHA": false,
"EnableSystemLogging": false,
"EnableSSO": false,
"FileRepositoryRoot": "/ThingworxStorage",
"HTTPRequestHeaderMaxLength": 2000,
"HTTPRequestParameterMaxLength": 2000,
"InternalAesCryptographicKeyLength": 128,
"Storage": "/ThingworxStorage",
"ScriptTimeout": 30
},
"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"
},
"ExtensionPackageImportPolicy": {
"importEnabled": false,
"allowJarResources": false,
"allowJavascriptResources": false,
"allowCSSResources": false,
"allowJSONResources": false,
"allowWebAppResources": false,
"allowEntities": false,
"allowExtensibleEntities": false
},
"HASettings": {
"CoordinatorConnectionTimeout": 15000,
"CoordinatorHosts": "127.0.0.1:2181",
"CoordinatorMaxRetries": 3,
"CoordinatorRetryTimeout": 1000,
"CoordinatorSessionTimeout": 90000,
"CoordinatorZNode": "/HALeadershipCoordinator",
"LoadBalancerBase64EncodedCredentials": "QWRtaW5pc3RyYXRvcjphZG1pbg=="
},
"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>"
}
},
"PersistenceProviderPackageConfigs": {
"NeoPersistenceProviderPackage": {
"StreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 250000,
"maximumWaitTime": 10000,
"scanRate": 5,
"sizeThreshold": 1000
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 500000,
"maximumWaitTime": 10000,
"scanRate": 5,
"sizeThreshold": 1000
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
}
},
"H2PersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 30,
"acquireRetryDelay": 1000,
"checkoutTimeout": 2000,
"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
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 10000,
"maximumQueueSize": 500000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
}
},
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 3,
"acquireRetryDelay": 10000,
"checkoutTimeout": 1000000,
"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
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumQueueSize": 500000,
"maximumWaitTime": 10000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
}
},
"MssqlPersistenceProviderPackage": {
"ConnectionInformation": {
"acquireIncrement": 5,
"acquireRetryAttempts": 3,
"acquireRetryDelay": 10000,
"checkoutTimeout": 1000000,
"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
},
"ValueStreamProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 10000,
"maximumQueueSize": 500000,
"numberOfProcessingThreads": 5,
"scanRate": 5,
"sizeThreshold": 1000
},
"PersistentPropertyProcessorSettings": {
"maximumBlockSize": 2500,
"maximumWaitTime": 1000,
"maximumQueueSize": 100000,
"numberOfProcessingThreads": 20,
"scanRate": 25,
"sizeThreshold": 1000
}
}
}
}
plateform-settings.json 选项
对于以下列出的所有数据库,应遵循值流处理器设置和流处理器设置的以下指导原则:
StreamProcessorSettings.numberOfProcessingThreads + ValueStreamProcessorSettings.numberOfProcessingThreads < 50% of DB connection pool
And
ValueStreamProcessorSettings.numberOfProcessingThreads >= StreamProcessorSettings.numberOfProcessingThreads
基本设置
设置
默认值
说明
BackupStorage
/ThingworxBackupStorage
写入所有备份的目录名称。
DatabaseLogRetentionPolicy
7
数据库日志的保留天数。
EnableBackup
true
确定是否保留备份。
EnableHA
false
确定 ThingWorx 是否可以配置为高可用性环境。
EnableSystemLogging
false
确定是否已启用系统日志记录。
* 
除非得到 THINGWORX 支持的指导,否则不要将其开启。
EnableSSO
false
设置为 true 时,可针对 ThingWorx Platform 启用 SSO。启用 SSO 时,所有身份验证都将重新定向到于 sso-settings.json 文件中配置的中央授权服务器。边 websocket 身份验证不会受到任何影响。
FileRepositoryRoot
/ThingworxStorage
创建根文件信息库的目录位置。默认位置可满足独立部署。对于 ThingWorx HA 部署,存储库应位于所有 ThingWorx 服务器均可访问的共享文件系统上。
HTTPRequestHeaderMaxLength
2000
HTTP 请求标题值的最大允许长度。
HTTPRequestParameterMaxLength
2000
HTTP 请求参数值的最大允许长度。
InternalAesCryptographicKeyLength
128
生成对称 AES 密钥时使用的密钥长度。可用值为 128、192、256。
* 
如果密钥长度大于 128 且 Java 策略未配置为使用该密钥大小,则加密和解密将失败。
Storage
/ThingworxStorage
创建/定位所有存储的目录 (不包括备份存储)。
ScriptTimeout
30
在 ThingWorx 平台终止脚本之前,脚本可以执行的最大秒数。
* 
如果脚本执行时间超过为此超时配置的秒数,则平台上的脚本将自动终止。
* 
在配置其超时持续时间时,请考虑脚本所处理的信息的敏感度和/或重要性。尽管出于安全考虑,在给定时间段后终止脚本至关重要,但过早终止可能会导致数据丢失。由于 ThingWorx 平台的灵活性,在某些用例中,所需的超时时间可能会比默认值稍短或稍长。
Solution Central 设置
设置
默认值
说明
SolutionCentralHost
sc.thingworx.com
Solution Central 主机名。
SolutionCentralPort
443
Solution Central 端口详细信息。
* 
如果 SolutionCentralPort 具有默认值,请不要进行设置。
KeyStorePath
/ThingworxPlatform/sc-keystore
密钥库的路径。
KeyStorePass
密钥库的密码。
* 
要加密密码,请将 KeyStorePass 设置为 encrypt.sc.password
ThingWorx Flow 设置
仅当在 ThingWorx Foundation 上安装了 ThingWorx Flow 时,这些属性才适用。这些值必须同时在 ThingWorx Flow 和 RabbitMQ 配置文件中进行定义,且只能在两个应用程序之间进行更改,而不得在任何其他位置进行编辑。
设置
默认值
说明
EnableOrchestration
true
指示是否在 ThingWorx Foundation 中启用 ThingWorx Flow。
QueueHost
localhost
RabbitMQ 主机名
QueuePort
5672
RabbitMQ 端口
QueueName
256mb
RabbitMQ 队列名称
QueueUsername
flowuser
RabbitMQ 队列用户名
QueuePassword
encrypt.queue.password
RabbitMQ 队列密码
* 
如果 ThingWorx Flow 与 ThingWorx Foundation 安装在同一台计算机上,则系统会自动对密码进行加密。
如果 ThingWorx Foundation 与 ThingWorx Flow 安装在不同的计算机上,则需要 加密此密码
QueueVHost
orchestration
RabbitMQ VHost 名称
扩展包导入策略
默认情况下,所有用户的扩展导入均处于禁用状态。使用以下设置配置扩展导入功能。有关详细信息,请参阅 导入扩展
设置
说明
默认值
示例
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 用户界面文件资源声明为 JavaScript 资源的扩展。
"allowJavascriptResources": false - 不允许导入将其内容清单中 JS 类型的 JavaScript 用户界面文件资源声明为 JavaScript 资源的扩展。
allowCSSResources
允许导入具有 CSS 资源的扩展。
false
"allowCSSResources": true - 允许导入包含 CSS 用户界面文件资源的扩展。
"allowCSSResources": false - 不允许导入包含 CSS 用户界面文件资源的扩展。
allowJSONResources
允许导入具有 JSON 资源的扩展 (例如,本地化文件)。
false
"allowJSONResources": true - 允许导入包含 JSON 用户界面文件资源的扩展。
"allowJSONResources": false - 不允许导入包含 JSON 用户界面文件资源的扩展。
allowWebAppResources
允许导入具有 Web 资源的扩展。
false
"allowWebAppResources": true - 允许导入包含 WebApp 用户界面文件资源的扩展。
"allowWebAppResources": false - 不允许导入包含 WebApp 用户界面文件资源的扩展。
allowEntities
允许导入具有不可扩展实体的扩展。不可扩展实体的示例包括:
应用程序密钥
身份验证器
仪表板
数据分析定义
数据形状
GenericContentEntity 及其衍生子类,如状态定义、样式定义、样式主题
本地化表
日志
混搭
媒体实体
菜单
ModeledServiceProviderEntity 及其子类,如通知内容
网络
通知定义
组织
持久化方案提供工具
PersistenceProviderPackage 及其衍生子类
项目
事物形态
事物模板
用户
词汇及其衍生子类,如 DataTagVocabulary、ModelTagVocabulary
false
"allowEntities": true - 允许导入在其内容清单中声明不可扩展实体的扩展。
"allowEntities": false - 不允许导入在其内容清单中声明不可扩展实体的扩展。
allowExtensibleEntities
允许导入具有不可扩展实体的扩展。可扩展实体的示例包括:
DirectoryService 及其衍生子类
ExtensionPackage
资源及其衍生子类,其中包含用作资源的自定义函数/服务,此类资源类似于 InfoTableFunctions、EntityServices 和 EncryptionServices 等 OOTB 资源。
* 
OOTB 子系统不属于扩展的一部分,因此不受影响。
ScriptFunctionLibrary 及其衍生子类。
子系统及其衍生子类。
* 
OOTB 子系统不属于扩展的一部分,因此不受影响。
事物包
小组件
false
"allowExtensibleEntities": true - 允许导入在其清单中声明可扩展实体的扩展。
"allowExtensibleEntities": false - 不允许导入在其清单中声明可扩展实体的扩展。
HA 设置
特定于 PostgreSQL HA 环境配置的设置。如果以上 EnableHA 设置为“假”,则忽略所有设置。必须对 CoordinatorHostsLoadBalancerBase64EncodedCredentials 进行修改,以适应您的环境。
设置
默认值
说明
CoordinatorConnectionTimeout
15000
等待与用于协调 ThingWorx 领导的 Apache ZooKeeper 服务建立连接的时间 (以毫秒为单位)。
CoordinatorHosts
127.0.0.1:2181
用于协调 ThingWorx 领导选举的 Apache ZooKeeper 服务器的逗号分隔列表。字符串模式为 IP:端口。(例如,"127.0.0.1:2181, 127.0.0.2:2181")。
CoordinatorMaxRetries
3
与用于协调 ThingWorx 领导的 Apache ZooKeeper 服务建立连接时所允许的最大重试次数。
CoordinatorRetryTimeout
1000
每次重试所需等待的时间 (以毫秒为单位)。
CoordinatorSessionTimeout
90000
ThingWorx 在没有收到用于协调 ThingWorx 领导的 Apache ZooKeeper 服务的“心跳”的情况下等待的时间 (以毫秒为单位)。
CoordinatorZNode
/HALeadershipCoordinator
当一个 Apache ZooKeeper 服务由多个 ThingWorx HA 部署共享时,此设置必须为每个 ThingWorx HA 部署提供唯一值。此值可设置为任意值,但必须遵循 /<anyTextHere> 格式。例如,ThingWorx 实例 TWX1 和 TWX2 在 HA 系统 A 中,ThingWorx 实例 TWX3 和 TWX4 在 HA 系统 B 中。对于 TWX1 和 TWX2,将 CoordinatorZNode 设置为 /HAsystemA,而对于 TWX3 和 TWX4,则将其设置为 /HAsystemB
LoadBalancerBase64EncodedCredentials
QWRtaW5pc3RyYXRvcjphZG1pbg==
HA 负载均衡器的 Base64 编码凭据,格式为 <user>:<unique password>
* 
不使用 ThingWorx 用户。
* 
您可以使用由 Base64 进行编码的负载平衡器设置中所使用匹配 <user>:<unique password> 字符串的任何实用程序。
管理员用户设置
设置
默认值
说明
InitialPassword
不适用
首次登录到 ThingWorx 所需的初始管理员密码。可在用户管理子系统中配置最小长度 (最少 10 个字符,默认值为 14 个字符)。有关详细信息,请参阅密码
内容类型设置
设置
默认值
说明
supportedMediaEntityContentTypes
"image/svg+xml","image/png","image/gif","image/bmp","image/jpeg","application/pdf","image/vnd.microsoft.icon"
可动态链接到媒体实体的有效 MIME 内容类型的逗号分隔列表。可以添加的其他类型。
* 
如果内容类型来自其他服务器 (媒体实体类型不受支持),则该内容将作为文件在客户端机器上下载,而不通过媒体实体返回。
许可连接设置
设置
默认值
说明
username
不适用
PTC 支持站点用户名
password
不适用
PTC 支持站点密码
timeout (以秒为单位)
60
超时期限后,应用程序日志中记录以下错误:
License Server could not process request
useProxy
false
启用代理设置以获得许可。如果为 true,则使用代理设置连接到许可服务器。
proxyHost
代理主机的名称。
proxyPort
代理主机的端口号。
proxyScheme
http
httphttps
proxyUsername
如果代理服务器连接需要身份验证,则此设置为用于身份验证的用户名。
proxyPassword
如果代理服务器连接需要身份验证,则此设置为用于身份验证的密码。
* 
有关对此值进行加密的信息,请参阅 加密密码
proxyUseNTLM
false
用于使用 NTLM 协议的选项。
proxyWorkstation
网络上用户计算机的名称 (如果需要 NTLM 身份验证)。
proxyDomain
用户域的名称 (如果需要 NTLM 身份验证)。
NeoPersistenceProviderPackage
包含特定于 Neo4j 的“持久化方案提供工具”设置。如果 Neo4j 不是持久化方案提供工具,请忽略此部分。
设置
默认值
说明
StreamProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大流写入次数。
maximumQueueSize
250000
要排队的流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空流缓冲区之前的最长等待时间 (以毫秒为单位)。
scanRate
5
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空流缓冲区之前可累积的最大项数。
ValueStreamProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大流写入次数。
maximumQueueSize
500000
要排队的流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空流缓冲区之前的最长等待时间 (以毫秒为单位)。
scanRate
5
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空流缓冲区之前可累积的最大项数。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大属性写入次数。
maximumWaitTime
1000
清空属性缓冲区之前的最长等待时间 (以毫秒为单位)。
maximumQueueSize
100000
要排队的属性条目的最大数量 (之后将被拒绝)。
numberOfProcessingThreads
20
处理属性时使用的线程数。
scanRate
25
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空属性缓冲区之前可累积的最大项数。
H2PersistenceProviderPackage
设置
默认值
说明
连接信息
acquireIncrement
5
确定 ThingWorx 在池耗尽时将尝试一次性获取的连接个数。
acquireRetryAttempts
30
定义 ThingWorx 在放弃之前将尝试从数据库获取新连接的次数。
acquireRetryDelay
1000
ThingWorx 在每次获取尝试之间等待的时间 (以毫秒为单位)。
checkoutTimeout
1000000
当池耗尽时,调用 getConnection() 的客户端等待检入或获取连接的毫秒数。
idleConnectionTestPeriod
6
测试连接的时间段 (以秒为单位),以便空闲连接不会从外部进程 (如防火墙等) 中关闭。如果此数字大于 0,ThingWorx 将在每 x 秒钟内测试所有空闲、合用但未检出的连接。
* 
如果您遇到“未连接至模型提供商”错误,请查看此设置。与防火墙默认值比较。降低默认值将缓解断开连接问题。
initialPoolSize
10
启动时在池中创建并维护的数据库连接的初始数量。应介于 minPoolSizemaxPoolSize 之间。
maxConnectionAge
0
秒,有效存在时间。超过 maxConnectionAge 的连接将被销毁并从池中清除。
maxIdleTime
0
连接被放弃之前,连接池中存在但未使用的连接秒数零表示空闲连接从不过期。
maxIdleTimeExcessConnections
36000
在将超过 minPoolSize 的连接剔除之前,该连接可在池中保持空闲状态的秒数。适用于希望大大减少打开连接数量的应用程序,如果在猛增之后负载级别减少并且不再需要获取连接,则将池缩回至 minPoolSize。如果设置 maxIdleTime,则 maxIdleTimeExcessConnections 应为更小的值才能产生效果。将其设置为零意味着不强制执行,并且超出的连接不会被闲置。
maxPoolSize
100
连接池在任何给定时间内保持的最大连接数。
maxStatements
0
ThingWorx 全局 PreparedStatement 缓存的大小。
maxStatementsPerConnection
50
每个连接的 ThingWorx 全局 PreparedStatement 缓存的大小。
minPoolSize
5
连接池在任何给定时间内保持的最小连接数。
numHelperThreads
6
生成的 helper 线程数目。通常,速度较慢的 JDBC 操作将由未持有竞争锁的 helper 线程执行。将这些操作分散到多个线程中,可以同时执行多个操作,从而显著提高性能。
password
不适用
数据库密码。
username
twadmin
数据库用户名。
tableLockTimeout
10000
客户端等待数据库表解锁的毫秒数。
testConnectionOnCheckout
false
如果为 true,则会在每个连接检出时执行操作以验证连接是否有效。
unreturnedConnectionTimeout
0
放弃无响应连接之前等待其响应的秒数。如果进行此设置,当应用程序检出但在指定时间内未能检入连接时,池将放弃连接。这使得偶尔发生连接泄漏的应用程序能够继续使用,而非最终耗尽连接池。零表示无超时,并且应用程序会关闭其连接。
StreamProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大流写入次数。
maximumQueueSize
250000
要排队的流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空流缓冲区之前的最长等待时间 (以毫秒为单位)。
numberOfProcessingThreads
5
处理属性时使用的线程数。
scanRate
5
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空流缓冲区之前可累积的最大项数。
ValueStreamProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大流写入次数。
maximumQueueSize
250000
要排队的流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空流缓冲区之前的最长等待时间 (以毫秒为单位)。
numberOfProcessingThreads
5
处理属性时使用的线程数。
scanRate
5
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空流缓冲区之前可累积的最大项数。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大属性写入次数。
maximumWaitTime
1000
清空属性缓冲区之前的最长等待时间 (以毫秒为单位)。
maximumQueueSize
100000
要排队的属性条目的最大数量 (之后将被拒绝)。
numberOfProcessingThreads
20
处理属性时使用的线程数。
scanRate
25
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空属性缓冲区之前可累积的最大项数。
PostgresPersistenceProviderPackage
设置
默认值
说明
ConnectionInformation
acquireIncrement
5
确定平台在池耗尽时将尝试一次性获取的连接个数。
acquireRetryAttempts
3
定义 ThingWorx 在放弃之前将尝试从数据库获取新连接的次数。
acquireRetryDelay
10000
ThingWorx 在每次获取尝试之间等待的时间 (以毫秒为单位)。
checkoutTimeout
10000000
当池耗尽时,调用 getConnection() 的客户端等待检入或获取连接的毫秒数。
driverClass
org.postgresql.Driver
预期提供连接的 JDBC 驱动类的完全限定类名。
fetchSize
5000
要批量提取的行数,而不是缓存客户端的所有行。
idleConnectionTestPeriod
60
如果该数字大于 0,ThingWorx 将每 x 秒钟测试一次所有空闲、合用但未检出的连接。
initialPoolSize
5
启动时在池中创建并维护的数据库连接的初始数量。应介于 minPoolSizemaxPoolSize 之间。
jdbcUrl
jdbc:postgresql://localhost:5432/thingworx
用于连接到 PostgreSQL 的 jdbc url。
* 
如果默认架构名称已 (由 public) 更改为其他名称,则必须添加 <databasename>?currentSchema=<name of schema>。例如,如果架构名称为 mySchema,则应为: jdbc:postgresql://<DBServer>:<DBPort>/<databasename>?currentSchema=mySchema
* 
如果您正在配置 HA 解决方案,则其中应反映 pgPool 进程正在运行的服务器 IP。将端口更改为 pgPool 所提供的端口。
maxConnectionAge
0
秒,有效存在时间。早于 maxConnectionAge 的连接将被破坏并从池中清除。
maxIdleTime
0
连接被放弃之前,连接池中存在但未使用的连接秒数零表示空闲连接从不过期。
maxIdleTimeExcessConnections
300
在将超过 minPoolSize 的连接剔除之前,该连接可在池中保持空闲状态的秒数。适用于希望大大减少打开连接数量的应用程序,如果在猛增之后负载级别减少并且不再需要获取连接,则将池缩回至 minPoolSize。如果设置 maxIdleTime,则 maxIdleTimeExcessConnections 应为更小的值才能产生效果。将其设置为零意味着不强制执行,并且超出的连接不会被闲置。
maxPoolSize
100
连接池在任何给定时间内保持的最大连接数。
maxStatements
100
ThingWorx 的全局 PreparedStatement 缓存的大小。
minPoolSize
5
连接池在任何给定时间内保持的最小连接数。
numHelperThreads
8
生成的 helper 线程数目。通常,速度较慢的 JDBC 操作将由未持有竞争锁的 helper 线程执行。将这些操作分散到多个线程中,可以同时执行多个操作,从而显著提高性能。
password
<unique 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
清空流缓冲区之前可累积的项的最大数量。
值流处理器设置
maximumBlockSize
2500
可在单个块中处理的最大值流写入次数。
maximumQueueSize
500000
要排队的值流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空值流缓冲区之前系统等待的毫秒数。
numberofProcessingThreads
5
处理线程数目。
scanRate
5
清空流缓冲区之前的速率 (以毫秒为单位)。
sizeThreshold
1000
清空值流缓冲区之前可累积的项的最大数量。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大属性写入次数。
maximumWaitTime
1000
清空属性缓冲区之前的最长等待时间 (以毫秒为单位)。
maximumQueueSize
100000
要排队的属性条目的最大数量 (之后将被拒绝)。
numberOfProcessingThreads
20
处理属性时使用的线程数。
scanRate
25
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空属性缓冲区之前可累积的最大项数。
MssqlPersistenceProviderPackage
设置
默认值
说明
ConnectionInformation
acquireIncrement
5
确定 ThingWorx 在池耗尽时将尝试一次性获取的连接个数。
acquireRetryAttempts
3
定义 ThingWorx 在放弃之前将尝试从数据库获取新连接的次数。
acquireRetryDelay
10000
ThingWorx 在每次获取尝试之间等待的时间 (以毫秒为单位)。
checkoutTimeout
1000000
当池耗尽时,调用 getConnection() 的客户端等待检入或获取连接的毫秒数。
driverClass
com.microsoft.sqlserver.jdbc.SQLServerDriver
需要提供连接的 JDBC 驱动类的完全限定类名称。
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。如果设置 maxIdleTime,则 maxIdleTimeExcessConnections 应为更小的值才能产生效果。将其设置为零意味着不强制执行,并且超出的连接不会被闲置。
maxPoolSize
100
连接池在任何给定时间内保持的最大连接数。
maxStatements
100
ThingWorx 全局 PreparedStatement 缓存的大小。
minPoolSize
5
连接池在任何给定时间内保持的最小连接数。
numHelperThreads
8
生成的 helper 线程数目。通常,速度较慢的 JDBC 操作将由未持有竞争锁的 helper 线程执行。将这些操作分散到多个线程中,可以同时执行多个操作,从而显著提高性能。
password
<unique password>
登录到数据库的密码。
testConnectionOnCheckout
false
如果为 true,则会在每个连接检出时执行操作以验证连接是否有效。
unreturnedConnectionTimeout
0
放弃无响应连接之前等待其响应的秒数。如果进行此设置,当应用程序检出但在指定时间内未能检入连接时,池将放弃连接。这使得偶尔发生连接泄漏的应用程序能够继续使用,而非最终耗尽连接池。零表示无超时,并且应用程序会关闭其连接。
username
msadmin
这是拥有 TWSCHEMA 模式的用户 ID,用于在 JDBC 连接字符串中对 MSSQL 进行身份验证。
流处理器设置
maximumBlockSize
2500
可在单个块中处理的最大流写入次数。
maximumQueueSize
250000
要排队的流条目的最大数量 (之后将被拒绝)。
maximumWaitTime
10000
清空流缓冲区之前系统将等待的毫秒数。
numberOfProcessingThreads
5
处理线程数目。
scanRate
5
检查指定速率值 (以毫秒为单位) 的缓冲区状态
sizeThreshold
1000
清空流缓冲区之前可累积的项的最大数量。
值流处理器设置
maximumBlockSize
2500
可在单个块中处理的最大值流写入次数。
maximumWaitTime
10000
清空值流缓冲区之前系统等待的毫秒数。
maximumQueueSize
500000
要排队的值流条目的最大数量 (之后将被拒绝)。
numberofProcessingThreads
5
处理线程数目。
scanRate
5
清空流缓冲区之前的速率 (以毫秒为单位)。
sizeThreshold
1000
清空值流缓冲区之前可累积的项的最大数量。
PersistentPropertyProcessorSettings
maximumBlockSize
2500
可在单个块中处理的最大属性写入次数。
maximumWaitTime
1000
清空属性缓冲区之前的最长等待时间 (以毫秒为单位)。
maximumQueueSize
100000
要排队的属性条目的最大数量 (之后将被拒绝)。
numberOfProcessingThreads
20
处理属性时使用的线程数。
scanRate
25
检查缓冲区状况的速率 (以毫秒为单位)。
sizeThreshold
1000
清空属性缓冲区之前可累积的最大项数。