亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

j2ee性能調優之最小化資源壓力測試法則

2019-11-17 04:30:21
字體:
來源:轉載
供稿:網友

  摘要:我提倡使用最小化資源的方式做一次壓力測試,排除大部分淺顯的應用問題。最小資源的意思,即在pc環境,使用應用可以運行的最小資源狀態下,進行壓力測試和性能問題偵測的工作。

  前面看到有人講j2ee的性能調優,雖然這塊不是自己的專長,但是豬養多了,也忍不住跳出來說幾句。

  雖然幾乎每本講性能調優的書籍開篇都會提,沒必要的情況下就不要做調優,但是我個人還是認為,所有系統在上線前,都應該做一次基本的壓力測試并對相關的性能問題進行檢測, 但是迫于資源壓力,很多項目都無法做正規的壓力測試,一直到系統上線出現問題,才倒回來找原因。 而正規的壓力測試,往往因為需要嚴格模擬生產環境,需要耗費大量的資源,各類專家配合解決問題,并不是那么輕松的可以做下來的。

  而j2ee應用的特點就是以復雜性來回避傳統問題,所以任意一個j2ee的部署,相對于php那樣的結構都是比較復雜的。系統一旦發生性能問題,必須在程序、數據庫、應用服務器、jvm、操作系統幾大塊中交叉進行考慮,根據實際情況問題,問題的原因可能異常復雜。我們可以想象一個項目,從來不做UT不做IT ,只做一次UAT,然后直接提交給用戶上線以后,修補錯誤的困難度和成本。

  經常看到一些調優的最后解決方案,可以肯定,幾乎80%以上都是一些低級的程序錯誤導致的,剩下的20%雖然可能是用硬件,os參數調整等等問題解決了,但是其中很大一塊,歸根到底也是程序的問題。 而在我們回顧這些錯誤的時候可以很驚人的發現,大部分都是一些低級錯誤。

  我提倡使用最小化資源的方式做一次壓力測試,排除大部分淺顯的應用問題。最小資源的意思,即在pc環境,使用應用可以運行的最小資源狀態下,進行壓力測試和性能問題偵測的工作。這種做法的優點如下。

  1. 環境容易搭建, 特別是不需要考慮大型硬件和網絡條件等等,也回避了開發人員可能不熟悉unix和特定應用服務器等問題

  2. 不需要特別的數據庫,操作系統和應用服務器專家配合,開發人員自身即可完成。

  3. 不需要特別的依賴os和應用服務器,jvm的監測工具。選擇自己最熟悉的即可。

  4. 開發人員在熟悉這種過程以后,再轉到正式的生產環境工作時也更有經驗,更容易解決問題。

  對測試過程做一點簡單介紹。

  工具準備:

  得益于開源技術的發展,大部分工具都可以免費獲得,使用也比較簡單。

  1. jvm 監控: 對jvm的運行狀態進行分析, 可以使用jvm自身帶的特性輸出日志,結合hp的jmeter PRofile進行分析。也可以使用jrockit自帶的圖形化工具mession control。

  熟悉什么用什么,越簡單越好,目的主要是觀察內存堆的變化,線程資源變化,gc情況等。

  2. 數據庫監控工具: 熟悉數據庫的使用數據庫自身的特性,不熟悉的可以使用第三方工具,主要目的是觀察數據庫的鎖,連接數信息, 對于db2我比較喜歡使用quest central。 Oracle使用OEM或者自身的數據字典已經可以。

  3. 應用服務器監控: 主要目的是記錄方法的調用情況和執行時間 ,找出頻繁調用的方法和執行時間過長的方法。使用jprobe和jprofile都可以很輕松的做到。 如果使用的應用服務器比較偏門,那么可以換一個支持這種檢測工具的應用服務器。反正主要目的只是在找問題。

  4. sql執行監控:跟蹤找出執行時間過長的sql。 我喜歡使用p6spy。

  5. 壓力工具: jmeter+badboy , 有條件的可以用loadrunner, 和loadrunner近似的還有一個免費的開源產品。 另外web 應用的話, 也可以使用selenium這樣的ff擴展來做。微軟vs自帶的也不錯,反正是什么簡單用什么。

  6. 記錄表格: 對問題和資源配置的變更進行記錄和對比。

  我發現有些人做壓力測試,只用壓力工具來跑,不肯用各類proile工具來跟蹤應用和數據庫使用情況,加上經驗又不足,結果測來測去都是瞎猜。

  設置:

  1. 數據庫: 如果未使用連接池, 則盡可能的將數據庫允許連接設置成最小數字,推薦是從1開始。如果使用連接池,則設置為1.

  隨著并發模擬數的增加也可以適當上調,但是一定要低于壓力工具模擬的并發用戶數。數據庫環境盡可能接近生產環境,至少要有足夠的測試數據。

  2. 應用服務器: 對jvm啟動堆做最小化設置。比應用服務器要求的最低內存略高,保證應用可以正常啟動即可。根據模擬用戶數增加可以小步適當上調,但是以保證應用基本運行即可。千萬別來大內存。

  3. 壓力模擬并發數,從1開始逐步往上加。一次加1,2個,上限不要太高,5-10個足以。

  步驟

  1. 按1用戶1連接的方式進行檢測

  * 找出系統是否存在明顯的資源泄露,比如數據庫連接,如果存在泄露此種情況下服務器很容易就hold。

  * 找出執行時間過長的java方法和sql。進行分析修改。

  * 找出那些調用過多的方法和sql,對程序進行分析,看是否做了不必要的調用。 這個問題尤其在使用了第三方包的情況下要小心,我曾經監測出某人寫的東西一個方法間接的調用了數據庫操作近200次。

  有些人做測試喜歡從5以上的數字開始,實在不是什么好習慣,比較明顯的問題都容易回避了。

  2. 適當增加并發用戶,盡可能不調整應用內存,對系統進行長時間的壓力測試,比如2-4個小時。 重點觀察是否存在內存泄露問題。 內存泄露的問題比較復雜,有時候還依賴于jvm和os,另外有些內存泄露只能在大并發的多線程環境下才會出現。 但是這種測試可以排除掉一些明顯的問題,主要是緩存和隊列之類的東西。內存泄露一般jvm會有報錯和相關的日志dump文件。

  3. 逐步增加并發用戶和連接數,觀察是否存在sql鎖 和線程鎖的問題。另外并發情況下也可能存在其他一些資源沖突,比如讀寫文件的情況等等。

  線程情況可以使用監控工具觀察,比如jrockit帶的mc, 也可以直接dump jvm 內存快照找工具分析。

  4. 盡可能增加并發用戶數,以當前應用能承擔的上線進行長時間測試,比如半天到1天,觀察是否會存在內存泄露,是否會存在線程資源消耗的問題。也需要檢查一下數據庫的連接數情況,看是否會一直持續增加,這說明連接池實現有問題,或者設置過大,也可能是jdbc的問題。

  5. 其他: 對jvm 可以使用sun和bea的都對比跑一下, 兩個實現情況大不同。 jr大并發支持好,所以可能jr上沒問題,但是sun的就有問題了。

  大部分的問題應該都可以在步驟1,2能得到暴露。在完成了這樣的初步測試以后,正式的測試就省心不少了,如果客戶有錢,性能不好也可以直接更新硬件了,省事又創造GDP。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费电影| 亚洲图片欧美午夜| 亚洲视频在线观看免费| 欧美另类暴力丝袜| 日韩中文视频免费在线观看| 国产精品欧美一区二区三区奶水| 正在播放欧美视频| 国产精品国产福利国产秒拍| 久久久爽爽爽美女图片| 亚洲精品98久久久久久中文字幕| 欧美孕妇与黑人孕交| 精品国产乱码久久久久酒店| 国内成人精品视频| 国产在线观看不卡| 午夜精品视频在线| 日韩精品999| 欧美成人免费一级人片100| 国产欧美在线观看| 亚洲日韩欧美视频一区| 97香蕉超级碰碰久久免费的优势| 88xx成人精品| 亚洲一区二区久久久久久| 伊人伊成久久人综合网站| 亚洲日本中文字幕免费在线不卡| 粉嫩老牛aⅴ一区二区三区| 日韩高清电影好看的电视剧电影| 国产精品黄色影片导航在线观看| 久久99亚洲精品| 在线播放国产精品| 九九精品在线视频| 高清亚洲成在人网站天堂| 亚洲自拍小视频| 国产丝袜精品视频| 精品国产一区久久久| 另类色图亚洲色图| 日韩成人激情视频| 91亚洲精品一区二区| 97久久精品视频| 欧美精品videos| 日韩在线观看免费高清完整版| 精品久久久国产精品999| 欧美一区亚洲一区| 精品福利免费观看| 亚洲自拍av在线| 欧美视频裸体精品| 97国产精品人人爽人人做| 91精品国产高清| 欧美午夜视频在线观看| 亚洲日韩中文字幕在线播放| 亚洲福利视频久久| 日韩av在线直播| 亚洲欧美制服综合另类| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品久久一区| 久久久亚洲欧洲日产国码aⅴ| 伊人久久久久久久久久久久久| 亚洲一区中文字幕| 久久久成人av| 91精品视频在线免费观看| 久久久精品久久久久| 亚洲mm色国产网站| 欧美富婆性猛交| 欧美在线性爱视频| 免费99精品国产自在在线| 亚洲男人av在线| 久久精品一区中文字幕| 亚洲欧美制服中文字幕| 日韩性生活视频| 国产精品海角社区在线观看| 国产欧美婷婷中文| 亚洲激情电影中文字幕| 国产美女扒开尿口久久久| 久久久精品国产亚洲| 国产精品99蜜臀久久不卡二区| 久久69精品久久久久久国产越南| 亚洲专区国产精品| 欧美日韩国产限制| 国产国语videosex另类| 日韩欧美国产高清91| 欧美成人精品在线| 一区二区福利视频| 日韩视频中文字幕| 日本久久久久久久久久久| 中文字幕精品av| 亚洲成av人乱码色午夜| 在线成人激情黄色| 日韩精品在线看| 欧美性做爰毛片| 92看片淫黄大片看国产片| 国产激情久久久久| 亚洲天堂网在线观看| 亚洲自拍偷拍网址| 97久久久免费福利网址| 日韩天堂在线视频| 久久影院在线观看| 欧美疯狂做受xxxx高潮| 欧美精品videosex牲欧美| 97超视频免费观看| 亚洲国产高潮在线观看| 亚洲一区免费网站| 欧美在线观看日本一区| 国产精品ⅴa在线观看h| 亚洲在线免费观看| 精品视频一区在线视频| 美女视频黄免费的亚洲男人天堂| 97香蕉久久超级碰碰高清版| 日本a级片电影一区二区| 国产a级全部精品| 97国产精品视频| 日本一区二三区好的精华液| 成人午夜激情免费视频| 亚洲级视频在线观看免费1级| 岛国av一区二区| 亚洲最大av网| 亚洲国产日韩精品在线| 亚洲精品久久久久久久久久久| 欧美激情小视频| 91精品视频免费| 亚洲夜晚福利在线观看| 欧美激情一区二区三级高清视频| 在线电影欧美日韩一区二区私密| 欧美成人久久久| 中国日韩欧美久久久久久久久| 久久久亚洲影院| 综合激情国产一区| 日日狠狠久久偷偷四色综合免费| 欧美在线视频a| 国产日韩一区在线| 亚洲一二三在线| 久久乐国产精品| 亚洲香蕉av在线一区二区三区| 55夜色66夜色国产精品视频| 色多多国产成人永久免费网站| 日韩少妇与小伙激情| 九九热99久久久国产盗摄| 亚洲网站在线播放| 美女福利精品视频| 亚洲春色另类小说| 久久久久久久国产精品视频| 精品香蕉在线观看视频一| 国产精品久久精品| 日韩成人在线网站| 午夜免费在线观看精品视频| 国产精品久久久久久av| 亚洲色在线视频| 午夜精品一区二区三区在线视| 国产精品成久久久久三级| 最近2019好看的中文字幕免费| 黄色精品一区二区| 最近2019中文字幕mv免费看| 国产成人自拍视频在线观看| 庆余年2免费日韩剧观看大牛| 亚洲精品日韩丝袜精品| 亚洲成年网站在线观看| 亚洲视频在线观看免费| 亚洲久久久久久久久久久| 国产欧美精品一区二区| 亚洲跨种族黑人xxx| 欧美国产一区二区三区| 51色欧美片视频在线观看| 亚洲国产精品久久| 欧美另类交人妖| 国产精品一区二区三区在线播放| 中文日韩在线观看|