Я использую верблюжий рестлет, и он отвечает примерно 500К записями. Я получаю проблемы с производительностью для передачи больших данных, как это. Процесс обмена занимает около 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&streamRepresentation=true" bindingMode="off" >
<to uri="direct:analyticsReport" />
</get>
Это direct:analyticsReport
Я измерял, и это занимает около 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)