青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

一次性能調優的實戰(再轉一篇別人的性能調優,寫的不錯)

項目情況:是一個大型公司的內部辦公系統,該系統有兩個和一般企業應用不太一樣的特點:一是用戶量非常多,人員數達到2W左右,另一個是采用分級管理的形式,各個分公司數據分開管理。 

我們的定位:我們是作為業務平臺的提供商參與這個項目的,我們提供底層的開發平臺,系統集成商在此基礎上進行二次開發。 

在項目從開發到部署的過程中遇到了很多的問題,也反映出很多問題。 

一、怎么回事,跑得比貓還慢 
項目開發完畢后部署在Ibm aix 小型機上,32G內存,16個cpu。應用服務器采用的是weblogic9.2,數據庫是oracle10.0.2。上線后發現系統運行的非常緩慢,甚 至比開發環境下的tomcat還要慢。于是開始排查原因,最開始是對SQL進行監控,優先考慮是數據庫訪問性能產生瓶頸。通過監控,發現很多業務需要執行 大量的SQL語句,查看客戶編寫的相關代碼,發現在查詢數據時循環執行了大量SQL。主要原因在于他們在代碼中循環調用了我們相關API,一個最典型的例 子是通過用戶ID查找用戶NAME,他們在業務表格里沒有保存用戶name,而是在查詢的時候通過用戶ID查找用戶name填充到頁面,幾乎每一個查詢都 是n+1。
 
另外由于平臺使用了hibernate,使得oo編程得非常爽快,導致開發人員完全忽略了相應的數據庫操作所帶來的壓力。很多業務邏輯直接通過PO疊加完成,把一些可以通過很少SQL完成的邏輯全部分散放置到PO里,導致了大量PO的交互和SQL語句。 

開始優化SQL,優化的同時增加大量業務緩存。但優化完畢后運行緩慢的現象依舊存在,性能有了一定的提升但是不是非常明顯。繼續優化,其中考慮過 多頻繁訪問的數據使用內存數據庫的方式。但是優化過后在tomcat上效果明顯,部署到生產環境就問題依舊。于是考慮weblogic的配置問題,作為開 發平臺提供商,我們只是提供系統開發相關方面的支持,對于應用服務器和數據庫服務器只是做基本的配置系統可運行即可。但是在這個問題上系統集成商咬定是我 們平臺的問題不放,并且存在一個很嚴重的問題:他們使用的是盜版的weblogic,這樣根本就沒有相應的技術支持。 

問題的解決:最后是找了一個BEA曾經的開發人員,問題實際非常的簡單,現場部署的weblogic默認是運行在32位機器上,與64位機器存 在一定的不兼容。通過替換相應的jar包,問題得到了解決,主要是IO方面。替換完畢后,速度提升了進30% 。該開發人員說,如果沒有lisence,根本就不會得到這些替換的jar包。 

二、內存耗盡了 
訪問速度的問題解決了,系統的使用量很快上來,馬上遇到新的問題:內存耗盡了。嚴重到幾乎每天都要out of memory一次。這種問題在客戶現場頻繁出現。 

本地測試,tomcat,sun jdk 通過Jprofiler監測內存使用情況。在并發訪問門戶的情況下,內存確實存在暴漲的情況,100并發,內存使用立刻上升了150m左右,繼續并發 100,再增長150m。但是很快在抵達高峰時會有一次gc發生,內存使用穩定在200m,內存里大量char[]數組對象。疲勞測試,內存使用曲線并沒 有出現逐漸上升泄露的情況。換weblogic和jrocket測試,gc發生的更加頻繁,內存使用穩定。
 
但是現場依舊頻繁當機,內存根本釋放不了,一直逐漸增長,典型的內存泄露。對系統緩存、單態對象包括spring管理的對象、IO流進行了統一 排查,依舊沒有找到內存泄露的原因。使用IBM 工具分析heapdump文件,結果還是大量的char[]數組對象占據內存,查找應用,找不到相關業務對象引用。
 
問題解決:問題解決是一篇偶爾搜到的oracle論壇的帖子,這里http://forums.oracle.com/forums/message.jspa?messageID=1040570 。原因在于oracle10的數據庫驅動對statement最后執行的結果集有著引用,并且不會釋放,目的在于通過內存而換取更好的性能。數據庫連接采 用的是weblogic的連接池,關于connection有個相關的statement cache設定,設定一個connection能夠被緩存的statement個數,最大是1024,而現場就被設定為了1024!connection pool的connection個數被設置為了500 。真是個恐怖的設置。在將1024改為10后,內存使用量轟然倒地,穩定在1g左右。這個設置是在前面系統訪問速度存在問題時由系統集成商的開發人員設置 上去的,他們將所有和優化相關的參數全部開到了最大。這個問題要是用戶購買的是正版的weblogic和oracle的話,相信也會很快得到解決。 

三、線程阻塞 
內存泄露的問題解決后,線程阻塞的問題浮出水面。系統集成商報告是線程死鎖,通過分析工具其實是線程阻塞,主要問題在于系統用到了 synchronized關鍵字,對工作流相關API全部使用了synchronized,原因在這里:http: //ronghao.javaeye.com/blog/205731 。分析發現一個工作項提交的操作在連接數據庫時被掛起了20分鐘!造成了大量線程的排隊阻塞。被掛起的原因有很多種。我們采用的方法是將接口拆分和設置事 務timeout時間。但是這顯然不是一個好方法。最后是去掉所有的synchronized關鍵字,將同步的問題交由數據庫解決,問題解決。 

四、反思 
1、系統集成商為什么不購買正版? 
2、開發平臺提供商究竟在項目開發中處于一種什么樣的位置?開發平臺是否對所有軟件開發問題都要負責? 
3、開發平臺是越封裝越快樂嗎?還是越封裝越丑陋?

更具體的細節在這里:

 AIX+weblogic性能診斷記錄



http://www.blogjava.net/ronghao 榮浩原創,轉載請注明出處:)

posted on 2011-10-16 13:52 大龍 閱讀(319) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美在线国产| 久久久久一区二区| 午夜精品福利一区二区蜜股av| 欧美aⅴ99久久黑人专区| 久久国产综合精品| 久久久综合激的五月天| 久久视频这里只有精品| 免费毛片一区二区三区久久久| 免费看亚洲片| 亚洲国产欧美在线| 欧美国产综合| 一本色道久久加勒比精品| 136国产福利精品导航| 久久夜色精品亚洲噜噜国产mv| 久久高清国产| 欧美成人a∨高清免费观看| 欧美黄色免费网站| 国产精品夜夜夜一区二区三区尤| 国产欧美精品一区二区色综合 | 国产自产女人91一区在线观看| 国内精品免费午夜毛片| 亚洲精品综合精品自拍| 亚洲一品av免费观看| 久久精品国产视频| 亚洲区欧美区| 久久精品99国产精品酒店日本| 欧美激情自拍| 伊人久久噜噜噜躁狠狠躁 | 免费欧美网站| 一区二区三区久久| 老司机午夜精品视频| 国产精品日韩欧美大师| 亚洲人体1000| 久久综合伊人77777麻豆| 99精品视频免费在线观看| 久久国产精品色婷婷| 欧美色精品天天在线观看视频| 狠狠色香婷婷久久亚洲精品| 亚洲尤物在线| 最新成人av网站| 久久精品亚洲| 国产免费观看久久| 亚洲影视在线播放| 亚洲国产精品女人久久久| 午夜精品视频| 国产精品免费看片| 夜夜爽av福利精品导航| 你懂的视频一区二区| 一区二区福利| 欧美成人一区二区三区在线观看 | 国产色视频一区| 亚洲无线视频| 麻豆国产精品va在线观看不卡| 亚洲淫性视频| 欧美精品日韩一本| 99re6热在线精品视频播放速度| 欧美亚洲一区二区在线| 一区二区三区黄色| 欧美成人亚洲成人| 亚洲精品久久久久| 美女久久一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产女优一区| 揄拍成人国产精品视频| 久久一区视频| 国产精品女人网站| 欧美一区二区三区成人| 亚洲高清不卡av| 欧美大尺度在线观看| 一区二区视频免费在线观看| 久久久久国产精品一区二区| 一区二区三区四区五区在线| 欧美三级欧美一级| 99视频在线观看一区三区| 亚洲精品美女久久久久| 免费日韩av片| 中文在线资源观看视频网站免费不卡| 欧美国产一区二区在线观看| 午夜精品久久久久| 国产亚洲精品成人av久久ww| 久久久无码精品亚洲日韩按摩| 国产日韩欧美视频| 亚洲国产精彩中文乱码av在线播放| 蜜桃精品一区二区三区| 久久人人97超碰国产公开结果| 亚洲第一页自拍| 欧美成人午夜激情在线| 欧美日本网站| 亚洲午夜av| 久久精品夜色噜噜亚洲aⅴ| 国产一区在线看| 亚洲黄色大片| 欧美精品二区三区四区免费看视频| 亚洲一区二区av电影| 亚洲午夜免费视频| 亚洲第一伊人| 亚洲一区二区欧美日韩| 久久福利一区| 国产精品国产三级国产aⅴ9色| 亚洲一卡二卡三卡四卡五卡| 久久人人97超碰精品888 | 性色一区二区| 久久精品91| 亚洲欧美另类中文字幕| 欧美在线啊v| 亚洲专区国产精品| 久久精品国产69国产精品亚洲| 国产模特精品视频久久久久| 一区二区三区自拍| 日韩一二三在线视频播| 亚洲第一精品夜夜躁人人爽 | 尤物视频一区二区| 亚洲三级影院| 伊人成人在线视频| 一本到高清视频免费精品| 亚洲国产精品久久| 亚洲午夜精品福利| 一区二区三区回区在观看免费视频 | 国产精品亚洲综合久久| 亚洲美女av网站| 欧美在线一二三区| 精东粉嫩av免费一区二区三区| 欧美高清视频在线| 一区二区三区中文在线观看| 亚洲美女电影在线| 亚洲精品小视频| 亚洲欧美在线磁力| 午夜视频在线观看一区二区| 免费亚洲电影在线| 欧美黑人一区二区三区| 国产精品私房写真福利视频| 中文国产成人精品久久一| 尤物九九久久国产精品的特点 | 久久午夜视频| 欧美电影免费观看大全| 国产精品美女xx| 亚洲免费在线观看视频| 亚洲精选在线| 欧美日韩国产在线播放| 欧美成人精品一区二区| 亚洲高清久久| 午夜精品久久久久久久99黑人| 性欧美18~19sex高清播放| 欧美成人在线网站| 亚洲美女网站| 亚洲精品在线视频| 欧美日韩在线一区二区| 久久综合五月天婷婷伊人| 亚洲高清自拍| 亚洲欧美中文另类| 久久影院午夜论| 欧美日韩美女一区二区| 国产精品99久久久久久宅男| 久久中文欧美| 亚洲精品国精品久久99热一| 国产精品羞羞答答xxdd| 欧美在线三级| 亚洲一区在线播放| 国产亚洲激情视频在线| 亚洲免费精品| 久久久91精品国产一区二区精品| 欧美激情一区二区三区在线视频| 亚洲伦理一区| 看片网站欧美日韩| 亚洲经典在线看| 亚洲欧美日韩国产成人| 欧美三级资源在线| 久久精品国产精品| 欧美成人性网| 性视频1819p久久| 亚洲免费网址| 欧美成人激情视频免费观看| 亚洲婷婷综合色高清在线 | 欧美成年人视频| 亚洲一区二区三区涩| 亚洲男人av电影| 亚洲高清资源| 久久手机免费观看| 一二美女精品欧洲| 欧美日韩专区在线| 欧美一级专区免费大片| 亚洲欧洲一二三| 亚洲欧美中文另类| 亚洲精品之草原avav久久| 欧美日韩黄视频| 美女视频黄免费的久久| 欧美亚洲视频在线观看| 欧美波霸影院| 99热免费精品| 欧美第十八页| 亚洲一区二区三区高清| 亚洲三级视频在线观看| 国产精品国产a| 欧美日韩欧美一区二区| 亚洲私人黄色宅男| 亚洲精品免费在线观看| 久久av一区二区三区漫画| 亚洲电影毛片| 在线成人av| 国产精品推荐精品|