Java EE企业系统性能问题的原因和解决建议
Pierre-Hugues Charbonneau(昵稱是P-H)是加拿大CGI公司的高級(jí)IT顧問和系統(tǒng)架構(gòu)師。近日他發(fā)表了題為《導(dǎo)致Java EE企業(yè)性能問題的十大原因》的文章,列舉了對(duì)Java EE企業(yè)系統(tǒng)性能影響最大的因素,并做出了很好的建議。
在文中,P-H首先指出,在設(shè)計(jì)和實(shí)現(xiàn)Java EE相關(guān)技術(shù)的時(shí)候,性能問題是我們所要面臨的最大挑戰(zhàn)之一。對(duì)于IT架構(gòu)師和Java EE開發(fā)者來說,很重要的是要理解客戶端的環(huán)境,并確保提出的解決方案不僅能夠滿足日益增長(zhǎng)的業(yè)務(wù)需要,并且能夠確保生產(chǎn)環(huán)境在長(zhǎng)期之內(nèi)的可伸縮性和可靠 性。
接下來他列舉了在過去十年中所遇到的Java EE性能問題的原因,并做出了一些高層次的建議。十大原因包括:
針對(duì)這些問題,P-H做出的建議包括:
- 項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)該花足夠的時(shí)間,為Java EE生產(chǎn)環(huán)境創(chuàng)建合適的運(yùn)營(yíng)模型。
- 找到Java EE中間件規(guī)格的平衡點(diǎn),像業(yè)務(wù)和運(yùn)維團(tuán)隊(duì)提供足夠的靈活性,以應(yīng)對(duì)運(yùn)行中斷的情況。
- 避免在32位的JVM中部署過多Java EE應(yīng)用程序。中間件的設(shè)計(jì)可以處理多個(gè)應(yīng)用程序,但是JVM可能不行。
- 在需要的時(shí)候選擇64位JVM替換32位的JVM,但是要有合適的容量計(jì)劃和性能測(cè)試,以確保硬件能夠支持它。
- 確保你的監(jiān)控程序?qū)VM的垃圾回收有很好的理解。
- 要記住,垃圾回收相關(guān)的問題可能不會(huì)再開發(fā)或者功能測(cè)試階段發(fā)現(xiàn)。
- 合適的容量計(jì)劃包括負(fù)載和性能測(cè)試,在調(diào)優(yōu)數(shù)據(jù)庫環(huán)境的時(shí)候非常重要,它能夠在SQL級(jí)別找到問題。
- 如果你使用Oracle數(shù)據(jù)庫,要確保DBA團(tuán)隊(duì)對(duì)AWR報(bào)告做出了評(píng)審。
- 利用JVM Thread Dump和AWR報(bào)告找到運(yùn)行緩慢的SQL,并使用選定的監(jiān)控工具來做同樣的工作。
- 確保花費(fèi)足夠時(shí)間來增強(qiáng)數(shù)據(jù)庫環(huán)境的運(yùn)行能力(磁盤空間、數(shù)據(jù)文件、REDO日志、表空間等等),還要做出合適的監(jiān)控和警告。
- 評(píng)審你當(dāng)前的Java EE環(huán)境監(jiān)控能力,并找到提升的機(jī)會(huì)。
- 你的監(jiān)控解決方案應(yīng)該盡可能覆蓋端到端的環(huán)境,包括主動(dòng)的警告。
- 監(jiān)控解決方案應(yīng)該與容量計(jì)劃過程保持一致。
各位讀者,你在設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)維Java EE企業(yè)系統(tǒng)的時(shí)候是否也遇到過性能問題,這篇文章會(huì)對(duì)解決那些問題提供一些幫助。同時(shí)也希望你可以分享自己的案例及解決方案。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Java EE企业系统性能问题的原因和解决建议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino COM口被占用问题解决
- 下一篇: 项目实施管理之系统演示