技术文章 - CS177841
如何调整 Windchill 中的类型和属性定义缓存大小以提高整体性能
已修改: 26-Dec-2025
适用于
- Windchill PDMLink 10.0 to 13.1
- FlexPLM 10.2 to 13.0
- Windchill PartsLink 10.2 to 13.0
说明
- 使用类型或属性的页面加载速度很慢或需要很长时间。
- 有时只需几秒钟即可显示,但通常需要很长时间,例如超过 1 分钟才能显示,尤其是在 Windchill 启动后不久。
- 许多 Windchill 页面都涉及类型或属性,例如
- 包含表格视图的页面,例如文件夹页面
- WTPart信息/详情页面
- 变更任务的影响对象或结果对象
- 文件夹内容 页面,即使它只有很少的对象
- 在“编辑更改任务”的“选择受影响/结果对象”页面中
- 部件的结构选项卡
- 开启电子炸弹
- 导出可导入电子表格
- 加载“新建文档”或“部件”弹出窗口
- Windchill页面加载缓慢,不同操作时持续旋转加载图标
- 打开工作项的详细信息
- 首页“我的任务”表格
- 该系统定义了多种类型或属性。
- 方法服务器可能会显示以下警告
Cache ClassificationEnumCache may by thrashing - consider increasing cache size
- 有时,分类结构的修改不会立即生效。
- 有时,全局枚举列表的修改无法同步到集群环境中的每个从节点。
- 有时,对类型或属性的修改在不同的浏览器上会产生不同的结果。
- 在一个从设备上导入类型需要很长时间,但在另一个从设备上则很快。
- 管理员收到ClassificationEnumCache溢出邮件
- 批量索引速度慢
- 分类结构约束未显示任何内容,并抛出如下警告
- SQL 和堆栈跟踪信息如下
Total Seconds: 3.5615422 Total Calls: 2699 SQL Statement: SELECT 'com.ptc.core.lwc.server.LWCStructEnumAttTemplate',A0.administrativeLockIsNull,A0.typeadministrativeLock,A0.deletedId,A0.classnamekeydomainRef, A0.idA3domainRef,A0.inheritedDomain,A0.name,A0.namespace,A0.organizationScopeIsNull,A0.classnamekeyorganizationScop,A0.idA3organizationScope,A0.classnamekeyA4,A0.idA3A4, CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120) FROM LWCStructEnumAttTemplate A0 WHERE ((A0.idA3A4 = ?) AND (A0.deletedId IS NULL )) AND (A0.markForDeleteA2 = 0) Stack Trace: "ajp-bio-8012-exec-14" Id=9882 daemon prio=5 RUNNABLE at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:626) ... at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1108) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1017) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1993) at wt.fc.StandardPersistenceManager._find(StandardPersistenceManager.java:2022) at wt.fc.StandardPersistenceManager.find(StandardPersistenceManager.java:681) at com.ptc.core.lwc.server.cache.db.TypeDefinitionDBService.getTypeDefinitionChildrenIds(TypeDefinitionDBService.java:572) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getChildTypeDefIdsFromDB(TypeDefinitionManager.java:2405) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.updateCache(TypeDefinitionManager.java:2335) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.retrieveAndCacheType(TypeDefinitionManager.java:436) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getTypeDefView(TypeDefinitionManager.java:392) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.ensureAllChildrenAreCached(TypeDefinitionManager.java:2433) at com.ptc.core.lwc.server.cache.TypeDefinitionManager.getChildTypeDefViews(TypeDefinitionManager.java:1401) at com.ptc.core.lwc.server.StandardTypeDefinitionService.getChildTypeDefViews(StandardTypeDefinitionService.java:492) at com.ptc.core.lwc.common.dynamicEnum.provider.ClassificationEnumerationInfoProvider.getChildTypeDefViews(ClassificationEnumerationInfoProvider.java:337) at com.ptc.core.lwc.common.dynamicEnum.provider.ClassificationEnumerationInfoProvider.addChildEntriesRecursively(ClassificationEnumerationInfoProvider.java:230) The queries can also differ, for example: SELECT 'com.ptc.core.lwc.server.LWCPropertyValue',... FROM LWCPropertyValue A0 WHERE ((A0.idA3C4 = ?)) AND (A0.markForDeleteA2 = 0) SELECT 'com.ptc.core.lwc.server.LWCLocalizablePropertyValue',... FROM LWCLocalizablePropertyValue A0 WHERE ((A0.idA3C4 = ?)) AND (A0.markForDeleteA2 = 0)
这是文章 177841 的 PDF 版本,可能已过期。最新版本 CS177841