日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java REST API Server 性能比较 Tomcat/Jetty/Grizzly/Undertow

發(fā)布時間:2024/3/24 java 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java REST API Server 性能比较 Tomcat/Jetty/Grizzly/Undertow 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JSR-356:WebSocket
JSR-311:JAX-RS
原文地址
https://menelic.com/2016/01/06/java-rest-api-benchmark-tomcat-vs-jetty-vs-grizzly-vs-undertow/

引言

Java Web Server該如何選擇,是很多開發(fā)者都需要思考的問題,尤其是隨著微服務(micro-services)的興起,嵌入式的web server越來越受到關注和重視。

那么不同的web server有什么區(qū)別呢?

jetty(Eclipse)

jetty可以作為 web server 和 servlet 容器,此外還支持HTTP/2,WebSocekt,OSGi,JMX…

grizzly(Sun/Oracle)

Grizzly是基于Java NIO的開發(fā)框架,讓開發(fā)者更好的使用Java NIP API;此外它也提供了HTTP Services,如http server,OSGi,支持 JAXWS。因此能在Grizzly http server上運行JAX-RS應用(比如Jersey)。

tomcat(Apache)

Tomcat 支持 Java Servlet,JavaServer Pages, JAX-WS以及java websocket技術。

undertow(JBoss)

Undertow是由java開發(fā)的 web server,基于 Java NIO,提供了阻塞和非阻塞兩種模式,支持HTTP,WebSocket,Servlet3.1,支持嵌入式開發(fā)。特點是輕量級,

測試

下面,將對上述四中應用作為 JAX-RS server 時的性能進行測試比較,探討哪一種web容器能夠更加快速,靈活,高效的發(fā)布 JAX-RS REST API。本文選擇 Jersey 作為 JAX-RS 實現(xiàn)。

(Spring boot 支持 Tomcat,Jetty,和Undertow。)

版本選擇:
1. Tomcat(8.0.30),
2. Jetty(9.2.14),
3. Grizzly(2.22.1) and
4. Undertow(1.3.10.FINAL).

測試接口只返回簡單的json文本。

public class ApiResource {public static final String RESPONSE = "{\"greeting\":\"Hello World!\"}";@GETpublic Response test() {return ok(RESPONSE).build();} }

測試工具使用 ApacheBench,并發(fā)級別=1,4,16.64,128
測試系統(tǒng):laptop/4C/8G jdk1.8 linux

測試結果:

1 同步等級=1


由圖可見,grizzly性能最好。

2 同步等級=128



由圖可見,Grizzly性能依然是最好的,

結論

測試結果顯示,grizzly在吞吐量和響應時間兩方面都表現(xiàn)最好。

本次測試,均使用了容器的默認配置,調(diào)整不同容器的配置參數(shù)可能會對測試結果產(chǎn)生較大影響,后續(xù)會進行進一步的測試。

源碼

GitHub

總結

以上是生活随笔為你收集整理的Java REST API Server 性能比较 Tomcat/Jetty/Grizzly/Undertow的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。