有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

针对大量记录的java Camel restlet性能

我使用的是camel restlet,它的响应记录约为500K。我遇到了性能问题,无法像这样传输大数据。交换过程大约需要300-400毫秒,而如果我在浏览器上查看时间,它将继续运行,如果我测量时间,它将在15-18分钟之间

你能帮我了解一下可能的问题吗?以下是json

{
   "BC":[
      {
         "internalCode":"B1C",
         "dgap":0.737940735389102,
         "gset":0.40132512265670084,
         "lastPrice":0.6980345629460734,
         "side":null,
         "insttype":"CBBC",
         "entitlementratio":0.506859210513693,
         "delta":0.1723159666242896,
         "logprice":false,
         "time":"02-10-2019 03:38:42.122"
      }
   ]
}

路线是这样定义的

<get uri="/getAnalyticsReport?synchronous=true&amp;streamRepresentation=true"  bindingMode="off" >
                <to uri="direct:analyticsReport" />
</get>

这是我测量的,大约需要300毫秒

我也试着获取堆栈跟踪,这看起来像堆栈跟踪

at sun.nio.ch.SocketDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
    at sun.nio.ch.IOUtil.write(IOUtil.java:65)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
    at sun.net.httpserver.Request$WriteStream.write(Request.java:391)
    at sun.net.httpserver.FixedLengthOutputStream.write(FixedLengthOutputStream.java:78)
    at sun.net.httpserver.PlaceholderOutputStream.write(ExchangeImpl.java:444)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
    at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
    at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
    at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
    at java.io.Writer.write(Writer.java:157)
    at org.restlet.representation.StringRepresentation.write(StringRepresentation.java:237)
    at org.restlet.representation.CharacterRepresentation.write(CharacterRepresentation.java:76)
    at org.restlet.engine.adapter.ServerCall.writeResponseBody(ServerCall.java:519)
    at org.restlet.engine.adapter.ServerCall.sendResponse(ServerCall.java:463)
    at org.restlet.engine.adapter.ServerAdapter.commit(ServerAdapter.java:196)
    at org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:153)
    at org.restlet.engine.connector.HttpServerHelper$1.handle(HttpServerHelper.java:73)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
    at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
    at sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:158)
    at sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:431)
    at sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:396)
    at java.lang.Thread.run(Thread.java:748)

共 (0) 个答案