アーティクル - CS425173
SQL Server 2022 を使用した Windchill PDMLink 13.0 でのチェックアウトの取り消しのパフォーマンスが低い
修正日: 29-Jan-2025
適用対象
- Windchill PDMLink 13.0
- SQL Server 2022
説明
- SQL Server 2022 では、SQL Server 2019 よりも Undo Checkout のパフォーマンスが低下します。
- Windchill 13.0.1 の PTC リリース マトリックスには、「SQL Server 2019 を使用した同等の構成と比較して、チェックアウトの取り消し操作が約 20% 遅くなることが確認されています」と記載されています。
- パフォーマンスが常に20%遅くなるわけではないことに注意してください
- 約775個のオブジェクトはわずか15%遅い
- 約2,000個のオブジェクトは26%遅くなります
- 約19,000個のオブジェクトは実際には56%高速です
- チェックアウトを元に戻すのにかかる時間は主にIBAの一括削除に費やされる。
- これらの削除の原因は次のスタック トレースです。
O-cost=17285:DB DELETE: DELETE FROM StringValue WHERE (idA2A2 = ?):count=24
O-cost=17285:wt.fc.profiling.SQLExecutionTimeProfilingLogger.addEndEntry(SQLExecutionTimeProfilingLogger.java:103):count=24
O-cost=17285:wt.util.TraceTimingCompositeLogger.lambda$addEndEntry$1(TraceTimingCompositeLogger.java:41):count=24
O-cost=17285:java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807):count=24
O-cost=17285:wt.util.TraceTimingCompositeLogger.addEndEntry(TraceTimingCompositeLogger.java:41):count=24
O-cost=17285:wt.util.TraceTimingResource.close(TraceTimingResource.java:65):count=24
O-cost=17285:wt.pds.SQLDatabasePds.deleteList(SQLDatabasePds.java:3680):count=24
O-cost=17285:wt.pds.SQLDatabasePds.delete(SQLDatabasePds.java:2667):count=24
O-cost=17285:wt.pom.PersistentObjectManager.delete(PersistentObjectManager.java:628):count=24
O-cost=17285:wt.fc.StandardPersistenceManager.removeBatch(StandardPersistenceManager.java:2755):count=24
O-cost=17285:wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:2351):count=24
O-cost=17285:wt.fc.StandardPersistenceManager$DeleteBatchSpecChunkResultProcessor.process(StandardPersistenceManager.java:3630):count=24
O-cost=17285:wt.fc.AbstractOidChunkResultProcessor.process(AbstractOidChunkResultProcessor.java:147):count=24
O-cost=16127:wt.fc.AbstractOidChunkResultProcessor.addElement(AbstractOidChunkResultProcessor.java:78):count=22
| O-cost=16127:wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:892):count=22
| O-cost=16127:wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1077):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:2052):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:2004):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1514):count=22
| O-cost=16127:wt.fc.batch.BatchSpecificationUtilities.queryTargetKeys(BatchSpecificationUtilities.java:89):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.execute(StandardPersistenceManager.java:1660):count=22
| O-cost=16127:wt.iba.value.service.MultiObjIBAValueDBService.deleteAllIBAsForIBAHolders(MultiObjIBAValueDBService.java:548):count=22
| O-cost=16127:wt.iba.value.service.MultiObjIBAValueDBService$4.notifyVetoableMultiObjectEvent(MultiObjIBAValueDBService.java:278):count=22
| O-cost=16127:wt.events.StandardKeyedEventBranch.intDispatchEvent(StandardKeyedEventBranch.java:306):count=22
| O-cost=16127:wt.events.StandardKeyedEventBranch.dispatchVetoableMultiObjectEvent(StandardKeyedEventBranch.java:268):count=22
| O-cost=16127:wt.events.StandardKeyedEventDispatcher.intDispatchEvent(StandardKeyedEventDispatcher.java:306):count=22
| O-cost=16127:wt.events.StandardKeyedEventDispatcher.dispatchVetoableMultiObjectEvent(StandardKeyedEventDispatcher.java:244):count=22
| O-cost=16127:wt.services.StandardManagerService.intDispatchVetoableEvent(StandardManagerService.java:413):count=22
| O-cost=16127:wt.services.StandardManagerService.dispatchVetoableMultiObjectEvent(StandardManagerService.java:315):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:3051):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:3034):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:2341):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:1829):count=22
| O-cost=16127:wt.fc.StandardPersistenceManager.delete(StandardPersistenceManager.java:867):count=22
| O-cost=16127:jdk.internal.reflect.GeneratedMethodAccessor638.invoke(Unknown Source):count=22
| O-cost=16127:java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43):count=22
| O-cost=16127:java.base/java.lang.reflect.Method.invoke(Method.java:568):count=22
| O-cost=16127:wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399):count=22
| O-cost=16127:jdk.proxy2/jdk.proxy2.$Proxy38.delete(Unknown Source):count=22
| O-cost=16127:wt.vc.wip.StandardWorkInProgressService.undoCheckouts(StandardWorkInProgressService.java:1753):count=22
| O-cost=16127:wt.vc.wip.StandardWorkInProgressService.undoCheckouts(StandardWorkInProgressService.java:1617):count=22
| O-cost=16127:java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method):count=22
| O-cost=16127:java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77):count=22
| O-cost=16127:java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43):count=22
| O-cost=16127:java.base/java.lang.reflect.Method.invoke(Method.java:568):count=22
| O-cost=16127:wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399):count=22
| O-cost=16127:jdk.proxy2/jdk.proxy2.$Proxy67.undoCheckouts(Unknown Source):count=22
| O-cost=16127:wt.epm.workspaces.WorkspaceUndocheckoutManager.undoCheckoutInternal(WorkspaceUndocheckoutManager.java:251):count=22
| O-cost=16127:wt.epm.workspaces.WorkspaceUndocheckoutManager.undoCheckoutAndRestoreInWorkspace(WorkspaceUndocheckoutManager.java:295):count=22
| O-cost=16127:wt.epm.workspaces.EPMStandardWorkspaceManager.undoCheckoutAndRestoreInWorkspace(EPMStandardWorkspaceManager.java:787):count=22
| O-cost=16127:java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method):count=22
| O-cost=16127:java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77):count=22
| O-cost=16127:java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43):count=22
| O-cost=16127:java.base/java.lang.reflect.Method.invoke(Method.java:568):count=22
| O-cost=16127:wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399):count=22
| O-cost=16127:jdk.proxy2/jdk.proxy2.$Proxy188.undoCheckoutAndRestoreInWorkspace(Unknown Source):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.util.WorkspaceActionHelper.undoCheckoutAndRestoreInWS(WorkspaceActionHelper.java:249):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.action.UndoCheckoutAction.executeAction(UndoCheckoutAction.java:145):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.action.UwgmAction.execute(UwgmAction.java:84):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.request.UndoCheckoutRequest.executeRequest(UndoCheckoutRequest.java:90):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.StandardRequestDispatcher.dispatchRequest(StandardRequestDispatcher.java:1277):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.StandardRequestDispatcher.scanRequests(StandardRequestDispatcher.java:1014):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.UwgmTransactionExecuterImpl.execute(UwgmTransactionExecuterImpl.java:109):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.UwgmTransactionExecuterImpl.executeTransaction(UwgmTransactionExecuterImpl.java:59):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.ProeService.executeTransaction(ProeService.java:111):count=22
| O-cost=16127:com.ptc.windchill.uwgm.proesrv.ProeService.execute(ProeService.java:87):count=22
| O-cost=16127:com.ptc.windchill.uwgm.soap.impl.uwgm.BinaryRequestHandler.processRequest(BinaryRequestHandler.java:679):count=22
| O-cost=16127:com.ptc.windchill.uwgm.soap.impl.uwgm.BinaryRequestHandler.getCacheDescriptor(BinaryRequestHandler.java:528):count=22
最新バージョンはこちらを参照ください CS425173