技术文章 - CS391928
打开调试或跟踪或信息日志会导致 ThingWorx 平台整体性能不佳
已修改: 18-Sep-2025
适用于
- ThingWorx Platform 8.5 to 10.0
说明
- 打开调试或跟踪或信息日志会导致 ThingWorx 平台整体性能不佳
- 将日志级别更改为较低级别(例如ApplicationLog或ScriptLog中的debug 、 trace、info或all)会导致 ThingWorx 平台有时挂起,并且用户访问 Composer 的速度变得非常慢
- 当日志级别设置为调试、跟踪或信息并运行一段时间后,用户无法访问 ThingWorx
- ThingWorx 平台运行速度极慢,处理速度也非常慢
- ThingWorx 生产应用程序速度变慢
- 在 ThingWorx 中配置日志记录
- 如何在 ThingWorx 中配置日志记录
- 如何在 ThingWorx 中配置 logback.xml
- 我们的大多数 http-nio 线程处于 WATING 或 BLOCKED 状态,下面是一些示例线程转储
"http-nio-8080-exec-300" tid=0x493 in WAITING - waiting on <0xf558aa2> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) - synchronizer <0x2e64c89f> (a java.util.concurrent.ThreadPoolExecutor$Worker) - synchronizer <0xc9b5631> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) - locked <0xc3a7b90> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper) Blocked: 996[-1ms], Waited: 1280736[-1ms] User CPU: 5m25s - synchronizer <0x2e64c89f> (a java.util.concurrent.ThreadPoolExecutor$Worker) - synchronizer <0xc9b5631> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) at sun.misc.Unsafe.park(Native Method) - waiting on <0xf558aa2> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:353) at ch.qos.logback.core.AsyncAppenderBase.putUninterruptibly(AsyncAppenderBase.java:181) at ch.qos.logback.core.AsyncAppenderBase.put(AsyncAppenderBase.java:172) at ch.qos.logback.core.AsyncAppenderBase.append(AsyncAppenderBase.java:161) at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84) at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51) at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270) at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257) at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421) at ch.qos.logback.classic.Logger.filterAndLog_2(Logger.java:414) at ch.qos.logback.classic.Logger.trace(Logger.java:433) at com.thingworx.webservices.context.ThreadLocalContext.getSecurityContext(ThreadLocalContext.java:173) at com.thingworx.system.subsystems.eventprocessing.OrderedEventProcessingSubsystem.report(OrderedEventProcessingSubsystem.java:177) at com.thingworx.things.connected.RemoteThing.setConnected(RemoteThing.java:456) at com.thingworx.things.connected.RemoteThing.bindEndpoint(RemoteThing.java:572) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.fireEndpointRegistryBindingAdded(DispatchingServerCommunicationModule.java:938) at com.thingworx.communications.server.modules.ServerCommunicationModuleBase.addEndpointRegistryBinding(ServerCommunicationModuleBase.java:211) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.doActualBinding(DispatchingServerCommunicationModule.java:578) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processBindMessage(DispatchingServerCommunicationModule.java:507) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.handleRequest(DispatchingServerCommunicationModule.java:265) at com.thingworx.communications.server.endpoints.DispatchingServerEndpoint.handleRequest(DispatchingServerEndpoint.java:33) at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onASDKV1Message(AbstractServerConnection.java:374) at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onMessage(AbstractServerConnection.java:340) at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:104) at org.apache.tomcat.websocket.WsFrameBase.sendMessageBinary(WsFrameBase.java:602) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageBinary(WsFrameServer.java:141) at org.apache.tomcat.websocket.WsFrameBase.processDataBinary(WsFrameBase.java:561) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:307) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:156) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) - locked <0xc3a7b90> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) "http-nio-8080-exec-301" tid=0x49b in WAITING - waiting on <0xc9b5631> (a java.util.concurrent.locks.ReentrantLock$NonfairSync), held by http-nio-8080-exec-300 - synchronizer <0x16022ba6> (a java.util.concurrent.ThreadPoolExecutor$Worker) - locked <0x9462225> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper) Blocked: 1101[-1ms], Waited: 1253786[-1ms] User CPU: 5m19s - synchronizer <0x16022ba6> (a java.util.concurrent.ThreadPoolExecutor$Worker) at sun.misc.Unsafe.park(Native Method) - waiting on <0xc9b5631> (a java.util.concurrent.locks.ReentrantLock$NonfairSync), held by http-nio-8080-exec-300 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.processBindMessage(DispatchingServerCommunicationModule.java:503) at com.thingworx.communications.platform.modules.DispatchingServerCommunicationModule.handleRequest(DispatchingServerCommunicationModule.java:265) at com.thingworx.communications.server.endpoints.DispatchingServerEndpoint.handleRequest(DispatchingServerEndpoint.java:33) at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onASDKV1Message(AbstractServerConnection.java:374) at com.thingworx.communications.server.connection.jsr356.AbstractServerConnection.onMessage(AbstractServerConnection.java:340) at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:104) at org.apache.tomcat.websocket.WsFrameBase.sendMessageBinary(WsFrameBase.java:602) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageBinary(WsFrameServer.java:141) at org.apache.tomcat.websocket.WsFrameBase.processDataBinary(WsFrameBase.java:561) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:307) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:156) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) - locked <0x9462225> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
这是文章 391928 的 PDF 版本,可能已过期。最新版本 CS391928