Seems to Reading Request body is wrong , So what is the efficient way of reading request body in undertow ?--SenthilOn Thu, Jun 22, 2017 at 11:30 PM, SenthilKumar K <senthilec566@gmail.com> wrote:Hello Undertow Dev Team ,I have been working on the use case where i should create simple http server to serve 1.5 Million Requests per Second per Instance ..Here is the benchmark result of Undertow :Running 1m test @ http://127.0.0.1:8009/20 threads and 40 connectionsThread Stats Avg Stdev Max +/- StdevLatency 2.51ms 10.75ms 282.22ms 99.28%Req/Sec 1.12k 316.65 1.96k 54.50%Latency Distribution50% 1.43ms75% 2.38ms90% 2.90ms99% 10.45ms1328133 requests in 1.00m, 167.19MB readRequests/sec: 22127.92Transfer/sec: 2.79MBThis is less compared to other frameworks like Jetty and Netty .. But originally Undertow is high performant http server ..Hardware details:Xeon CPU E3-1270 v5 machine with 4 cores ( Clock 100 MHz, Capacity 4 GHz) , Memory : 32 G , Available memory 31 G.I would need Undertow experts to review the server code below and advice me on tuning to achieve my goal( ~1.5 Million requests/sec ).Server :Undertow server = Undertow.builder().addHttpListener(8009, "localhost").setHandler(new Handler()).build();server.start();Handler.Javafinal Pooled<ByteBuffer> pooledByteBuffer =exchange.getConnection().getBufferPool().allocate(); final ByteBuffer byteBuffer = pooledByteBuffer.getResource(); byteBuffer.clear();exchange.getRequestChannel().read(byteBuffer); int pos = byteBuffer.position();byteBuffer.rewind();byte[] bytes = new byte[pos];byteBuffer.get(bytes);String requestBody = new String(bytes, Charset.forName("UTF-8") );byteBuffer.clear();pooledByteBuffer.free();final PostToKafka post2Kafka = new PostToKafka();try {post2Kafka.write2Kafka(requestBody); { This API can handle ~2 Millions events per sec } } catch (Exception e) {e.printStackTrace();}exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain"); exchange.getResponseSender().send("SUCCESS"); --Senthil
_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev