替代JBoos AS的應用服務器,WildFly 8 壓力測試

jopen 10年前發布 | 15K 次閱讀 WildFly 8

最終版的WildFly8于 本周發布了。WildFly是最新版的遵從Java EE7的來自于紅帽子公司的應用服務器。它是JBoss 應用服務器7的繼承者。WildFly最主要的特性之一就是新的高性能的稱之為Undertow的網絡服務器,它將取代之前的JBoss的Tomcat服 務器。鑒于我們最近正在做一個新應用的基準測試,我很好奇WildFly8的表現會怎么樣呢。為了發現結果,我決定在基準驗證時使用這個應用并把它的結果 與最新的 6.2 JBoss EAP進行對比。

用于基準驗證的應用是一個簡單的基于JSF的應用。每次請求JSF模版,都會從一個支持bean抓取數據,并實時的給予補償。這些支持bean從一 個本地的緩存檢索數據,這個緩存有一個RESTful 接口,并且周期性的刷新。刷新是異步發生的,因此不會阻塞任何使用者的請求。為了獲得一個更好的性能,HTTP的會話明確禁止這類應用。

JSF無狀態的模式也將被激活。雖然被補償的JSF頁不需要任何形式的表單,(因此也不需要任何開始狀態)。事實上這看起來會促進性能一個小小的提升。然而性能的提升是如此的微小以致它消失在運行時的波動中,因此很難說它真的起了什么作用。

JMeter是用于它自身的基準。應用和JMeter都運行在同一臺電腦上,它的配置是3.4GHz 四核的Intel至強處理器,16GB的內存或者RAM,運行著Linux Mint 16操作系統。隨著JDK8的首個發行本在上周發布,我決定在基準驗證中使用JDK7u45和JDK8b126. 外部使用JBoss EAP 6.2和WildFly 8,對于standalone.xml 和其它的內部配置文件不做任何修改。

壓力測試通過100個并發線程一起執行,每個線程執行2000個請求。對于應用服務器軟件和JDK的每個版本組合,彼此直接進行四次測試。第一次測 試的結果棄之不用,因為開始時JVM還沒達到理想工作狀態。每秒的請求吞吐量由剩下的三次測試平均得出。你可以看到下面的平均吞吐量。

替代JBoos AS的應用服務器,WildFly 8 壓力測試

但是,這些平均值,并未畫出全貌。細看一下JBoss EAP的壓力測試結果,在不同的JVM中壓力測試結果的波動比WildFly的表現波動更大,不如其穩定。

替代JBoos AS的應用服務器,WildFly 8 壓力測試

JBoss EAP在第二次測試時看起來在這兩種JVM版本下運行達到最佳表現(高度一致),但這可能只是一種巧合。很明確的是,WildFly團隊在創建這套應用程 序服務器軟件時做了大量的工作,雖然它可能不是完全地更快,但在實現類似性能水平的基礎上提供了更高水平的一致性。對JBoss EAP和WildFly來說,同樣在JDK8下的壓力測試仍比在JDK7下的壓力測試有一定的標準落差,但看起來WildFly是在類似的水平上執行的。 看到其他應用服務器,如GlassFish,和JBoss EAP與WildFly的過招結果如何將是很有趣的,所以我可能很快會重溫這個話題的。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!