高速缓存管理器服务
门户网站高速缓存管理器服务负责管理 WebSphere® Portal 中使用的不同高速缓存。
在 WebSphere Integrated Solutions Console 中,门户网站高速缓存管理器服务列示为 WP CacheManagerService。
门户网站提供两种不同类型的高速缓存,即共享和非共享:
- Shared caches
- 共享的高速缓存是集群感知的。这意味着从一个集群节点上的高速缓存中删除元素将导致从所有其他节点上的相应高速缓存实例中删除该元素。这确保经常更改的数据能够在整个集群安装中保持一致。
- Non-shared caches
- 非共享的高速缓存用于不涉及集群感知的数据。这避免了不必要的网络通信开销。
修改这些属性时,请提前作好规划并且需要特别小心。有两种级别的属性:
- cacheglobal properties
- 除非由相应的高速缓存实例属性显式地覆盖,否则它们将指定用于所有高速缓存的缺省设置。
- cacheinstance.cacheidentifier properties
- 它们用于覆盖全局设置,例如,特定高速缓存实例的高速缓存大小。
更改这些属性中的部分或全部属性可以动态地提高或降低门户网站性能。因此,建议不要更改任何高速缓存的共享设置,除非能够完全地理解和赞同结果。如果您要确定 size、lifetime、admit-threshold 和 replacement 属性的最佳值,请在门户网站安装的登台阶段监视高速缓存属性。使用 Tivoli 性能查看器,即 WebSphere Application Server PMI 客户机(PMI = 性能监视器接口)来查找环境的最佳设置。
下面列出了共享和非共享高速缓存的高速缓存管理器服务的属性:
- cacheglobal.enabled = [ true | false ]
- cacheinstance.cacheidentifier.enabled = [ true | false ]
- 使用此属性可以控制是否启用高速缓存。请小心使用此属性!
- cacheglobal.size = number
- cacheinstance.cacheidentifier.size = number
- 使用此属性可以定义发生逐出前可放入高速缓存的元素数。逐出使用“近似 LRU”算法。
- cacheglobal.shared = [ true | false ]
- cacheinstance.cacheidentifier.shared = [ true | false ]
- 使用此属性可以定义是否使用集群感知的高速缓存。
- cacheglobal.lifetime = number
- cacheinstance.cacheidentifier.lifetime = number
- 使用此属性可以指定元素在高速缓存中的生存期(以秒为单位)。当指定的生存期到期时,并非立即从高速缓存中废弃元素。当插入下一个元素时,才逐出它们。指定 -1 意味着无限生存期。这种情况下,将不执行超时且永不逐出高速缓存条目。
- randomizePercent = number
- cacheinstance.cacheidentifier.randomizePercent= number
-
使用此属性可以将高速缓存条目的生存期随机安排至某一范围。如果所有高速缓存中的条目具有相同的生存期,将在重新载入条目时造成高负荷,类似地在同一时间逐出大量条目也会造成高负荷。
将此属性的值指定为以百分比形式给出的数字值。例如,值 25 意味着所有高速缓存条目的生存期大于或小于缺省生存期(由生存期参数指定)的 25%。无论您为此属性指定的值多大,高速缓存条目的生存期都不会小于缺省值的 50%。缺省情况下,未指定任何值。这种情况下,不能随机安排生存期且所有的高速缓存条目拥有缺省的生存期。
如果您将缺省生存期属性设置为无限(即,设置为值 -1),那么不会应用生存期随机化设置,即使您为 randomizePercent 属性指定了值也是如此。
您可以通过对类 com.ibm.wps.services.cache.AbstractCache 启用跟踪来查看高速缓存条目实际随机化的生存期。
您可以为非共享高速缓存设置下列附加属性。(为共享的高速缓存设置它们没有坏处,但它们将被忽略。)
- cacheglobal.replacement= [aggressive | moderate | conservative]
- cacheinstance.cacheidentifier.replacement= [aggressive | moderate | conservative]
- 控制逐出算法行为。
- cacheglobal.admin-threshold = number
- cacheinstance.cacheidentifier.admin-threshold = number
- 准入阈值。使用此属性可以在高速缓存中仅保留需要的条目。仅当条目放入高速缓存的频率与该属性值指定的频率相同时,才会对此条目进行高速缓存。如果您希望对每个条目进行高速缓存,请将此属性设置为零 (0)。
- com.ibm.wps.pe.deployedresources
- 使用此高速缓存实例可高速缓存 Servlet 配置信息以及数据库中存储的所有 Web 模块的数据库表示。
- com.ibm.wps.pe.portletregistry
- 使用此高速缓存实例可高速缓存数据库中存储的所有 Portlet 的数据库表示。
- com.ibm.wps.pe.portletdefinition
- 使用此高速缓存实例可高速缓存数据库中存储的所有 Portlet 应用程序的数据库表示。
- com.ibm.workplace.wcm.pzn.plr.BeanListCache
- Bean 列表高速缓存对 Digital Data Connector 插件返回的 Bean 列表 Java 对象进行高速缓存。DDC 插件控制各个条目的高速缓存键生成,并控制是否在用户登录期间自动从高速缓存中除去 Bean 列表。缺省情况下,此高速缓存处于启用状态。注: 此高速缓存的各个条目的大小可以是几 MB。因此,该高速缓存的缺省高速缓存条目数比其他门户网站高速缓存缺省数目少得多。您使用 Bean 列表高速缓存时,密切监视高速缓存,并根据需要对其进行调整。您还要考虑各个高速缓存条目的大小及如何对其产生影响。有关更多信息,请阅读配置从 Connections。
- com.ibm.workplace.wcm.pzn.plr.xml.DocumentCache
- 通用 XML DDC 插件使用文档高速缓存对各个源 URI 的文档对象模型 (DOM) 对象进行高速缓存。此高速缓存专门缓存关联项属性的 DOM。如果某个关联的项属性在列表呈示概要文件中标记为 shared,那么将在不同用户之间共享高速缓存条目。此类共享文档不会在用户登录时失效。通过非共享相关项属性装入的文档将针对每个用户单独进行高速缓存。这些高速缓存条目将在登录期间自动失效。缺省情况下,此高速缓存处于启用状态。
- com.ibm.workplace.wcm.pzn.plr.json.DocumentCache
- 通用 JSON DDC 插件使用文档高速缓存对各个源 URI 的文档对象模型 (DOM) 对象进行高速缓存。此高速缓存专门缓存关联项属性的 DOM。如果某个关联的项属性在列表呈示概要文件中标记为 shared,那么将在不同用户之间共享高速缓存条目。此类共享文档不会在用户登录时失效。通过非共享相关项属性装入的文档将针对每个用户单独进行高速缓存。这些高速缓存条目将在登录期间自动失效。缺省情况下,此高速缓存处于启用状态。
- com.ibm.workplace.wcm.pzn.plr.ListRenderingCache
- 列表呈示高速缓存对特定外观组件为特定 Bean 列表实例生成的标记进行高速缓存。如果启用了此高速缓存,那么外观组件中的更新可能不会立即显示,这是因为对相应 IBM Web Content
Manager 设计组件的更新不会使此高速缓存失效。通常,此高速缓存中的条目将与先前列出的 Bean 列表高速缓存中的相应 Bean 列表对象一起失效。因此,最好在编写系统上禁用此高速缓存,并在交付系统上将其启用。
要使用此高速缓存,您必须使用 ListRenderingCache 呈示插件对此高速缓存的标记生成所涉及的 Web Content Manager 设计组件进行检测。 有关更多信息,请参阅“使用列表呈示高速缓存”。