javaee與spring boot其實很難比較測試,前者適合單體soa架構(gòu),后者適合微服務(wù),但是還是有好事者把兩者放在一起比較性能。
我把一些jee和spring代碼放在一起做了同樣的事情。spring做了一些開箱即用的好東西,所以我在一些jee示例中復(fù)制了它以提高性能。
測試環(huán)境:ibm jre 8.0.5.22、ibm liberty 18.0.0.3 app server、底層使用ubuntu linux 18.04.1 lts和mysql 5.7.24以及mysql 8.0.13 jdbc驅(qū)動程序。
硬件:采用amd 2700x ryzen處理器,在2600 ghz頻率下具有32 gb內(nèi)存。
實際結(jié)果:
- spring可以節(jié)省一些編碼時間
- spring通常會為性能做出很好的選擇,但是加入到j(luò)ee應(yīng)用程序時,這些優(yōu)勢就會消失。
- spring執(zhí)行save()或findall()之類方法時不履行@transactional,spring會更改隔離級別和事務(wù)傳播。這使得spring在執(zhí)行非更新數(shù)據(jù)庫的功能時具有優(yōu)勢,但是imo,spring應(yīng)該真正尊重設(shè)置的隔離級別和傳播。當(dāng)改變jee中的方法的隔離級別和傳播時,jee會更快。
1
2
3
4
5
6
7
8
9
10
11
|
簡單rest調(diào)用 liberty perfrestjee 3631 ms liberty perfrestspring 2909 ms springboot perfrestspring 3064 ms rest with jpa liberty perfrestjpajee 65531 ms liberty perfrestjpaspring 37076 ms springboot perfrestjpaspring 37757 ms rest with jpa (eclipselink) liberty perfrestjpaspring-el 37709 ms springboot perfrestjpaspring-el 76791 ms |
總結(jié)
以上所述是小編給大家介紹的jee與spring boot代碼性能比較,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
原文鏈接:https://www.jdon.com/50618