java商城项目性能调优_javaWEB项目性能调优
在工作中難免要維護其他人做的項目。現在遇到一個情況,客戶那里有 一臺服務器? 200G左右的硬盤,windows server 2003 32位操作系統,同時上面安裝有sqlserver 2000數據庫 個人版。
由于系統是客戶自己單位使用所以系統并發量并不大,最多了時候也不會超過,300人。系統內存有8G。系統上一個tomcat 55 下面運行了四個項目。平時用戶訪問的時候就是感覺速度慢點,其他的沒什么大問題。但是今年監控的時候發現數據庫 增長迅速。由原來的不到2G增長到了3G多,對于sqlserver 2000 個人版來說首先是數據庫頂不住壓力。在客戶年終頻繁使用的時候系統瞬間崩潰。然后我們只好通知客戶給我們提供高版本的數據庫,我們將數據庫從2000升級到2008 。升級之后數據庫問題解決了。但是用戶頻繁訪問的時候發現系統內存只增不減。因為這個差不多是辦公系統。夜間用戶是不會用的。通過Java虛擬機監控,發現有每次系統存在大量垃圾線程。每次垃圾回收之后,效果也不明顯。
1.內存泄露 ,用戶使用過后有大量數據庫連接沒有關閉。
查找源代碼發現系統中,由于開發程序人員的繁雜,導致在開發過程中大量數據庫連接沒有關閉。導致大量占用系統資源
2. 由于大量在代碼中使用String 拼裝代碼 導致監控中發現有大量的String 對象。
解決方案:將String 變幻成StringBuffer 對象來拼接字符串。通過監控發現效果比較明顯。
3.由于系統中數據分析業務復雜,導致大量表間關聯,數據庫運行緩慢
解決方案:對象對穩定的業務邏輯建立視圖,添加索引,效果最明顯的就是索引了,原來一個將近3分多鐘的查詢操作,優化過后,
查詢時間不超過15S
4.對不同項目使用不同的Tomcat進行動態內存配置。
一個服務器可以安裝多個Tomcat 然后根據不用服務的訪問量設置分配的初始化內存以及最大化內存。這樣可以優化內存的利用。
總結
以上是生活随笔為你收集整理的java商城项目性能调优_javaWEB项目性能调优的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部队军官手机使用管理规定
- 下一篇: 部队考军校需要多少分录取