Hi,

I am using tomcat 8.0.23 to terminate my websocket connections. I was
looking at my trace logs and noticed that when tomcat worker thread
responsible for processing websocket messages switches to a different
thread, there is about 80ms delay. In my OnMessage implementation I
let the work done for each message by thread from the executor service
thread pool. So onMsg method supposed to return immediately.
Here is the OnMessage implementation and trace log messages. Any ideas
what is causing that delay?


@OnMessage
public void onMsg(Session session, byte[] request) {
    LOGGER.trace(COLLECTOR_ENDPOINT_MARKER, "message-trace: in: onMsg:
sessionId: {}, request: {}", () -> session.getId(), () ->
request.hashCode());

    executorService.execute(() ->
    {
      try {
           ByteBuffer response = ByteBuffer.wrap(getResponse(session, request));
           synchronized (session) {
               session.getBasicRemote().sendBinary(response);
           }
      } catch (Exception e) {
          LOGGER.catching(Level.FATAL, e);
     }
   });
}



23:39:59.723 [http-nio-8080-exec-9] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 61159560
23:39:59.723 [http-nio-8080-exec-9] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1603450534
23:39:59.723 [http-nio-8080-exec-9] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1776164192
23:39:59.723 [http-nio-8080-exec-9] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1289655200
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 2012164707
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1683437101
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1996648771
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1558367554
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1376817303
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 262877862
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1799864953
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 562399886
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 2001150465
23:39:59.804 [http-nio-8080-exec-4] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 565117005
23:39:59.885 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 853722315
23:39:59.885 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 905622955
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 524911688
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 924137147
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 334850062
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1942147126
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 544895426
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1044655000
23:39:59.886 [http-nio-8080-exec-8] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 105480518
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 263098887
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 851943979
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1368132917
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 62533047
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 2021636461
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1999014579
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1181926599
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 343383595
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 298252569
23:39:59.967 [http-nio-8080-exec-6] TRACE {} CollectorEndPoint -
message-trace: in: onMsg: start: sessionId: 0, request: 1391893120

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to