關于軟件優化,硬件升級方面的:
至強64位雙CPU
2G內存 DDR2 533
tomcat5.5默認配置
java5.0默認配置
mysql5.0默認配置
帶寬為10M獨享.
如何改變軟件方面的配置要求。優化方面的資料。硬件方面要升級哪些? 以達到支持大約在線用戶為最高2000人。
處理:
???????2000 人在線,每秒鐘請求數應該在幾百次或者更低些的程度,并發數不會超過100(平均10妙請求一次),使用普通的 PC 機,每秒鐘也能夠處理上百次的請求;
???????緩存優化:解決性能問題首先想到的就是緩存,在 Web 應用中有很多緩存的方式,可以緩存到 Web 層的 servletContext 中,也可以緩存到業務層中,甚至可以在數據庫中建立冗余。而生成靜態頁面是一種極端的做法,一般來說會增加復雜性,同時可能會對靈活性和可維護性造成很大傷害。緩存的要點在于命中率,命中率低的東西不應該緩存,除非對內存的價格不做考慮。總結起來設計上就兩句話,使用 N 層結構,合理緩存。根據程序的需要,適當是使用緩存機制;
???????程序進行優化方法,比如:每次查找部分記錄,而不是全部查出來,這樣既可以減輕服務器的負擔,也可以減少網絡傳輸量; 對于系統中的數據庫連接一定要進行妥善的處理; 對需要用 scrchrnozied 的地方要用,但是有些地方可以不用同步化的,這個對速度影響也很大;從代碼入手,優化程序,在數據持久化上進行改進,采用成熟的庫訪問對象(Data Access Object)設計模式也會節省你的服務器開銷。
???????硬件升級:硬件方面還不行,硬盤最好搞陣列,還可以再來一個服務器,弄個負載均衡,由兩個服務器來處理用戶的請求,apache必然是要用到的,他將擋在tomcat前處理http請求。
???????注意:在硬件足夠強大的時候,將 web 與 db 分兩臺服務器來做,只會降低效率,因為網絡編組的成本要比本地內存中的復制高幾個數量級。同樣道理,負載均衡也只會導致更復雜的結構,會引起更多的問題,并產生更低于下的效率。將一個應用分布于多臺機器的唯一理由,就是由于一臺機器根本頂不住,不得不分。
???????環境優化:調Tomcat、JVM的Heap大小等參數做一些優化, Tomcat的虛擬內存管理有最大值限制,可以并發運行多個Tomcat來均衡負載,tomcat5.5默認配置? ==>改了JAVA_OPTS沒有?開大內存 既java_opts= -Xms1024m -Xmx1024m ;? java5.0默認配置??? ==>升級一下到最大的小版本6.0?升級處理
????? 系統內存測試:
???? (1)自己測試:參考tomcat,jvm,mysql優化方面的資料。測試如下操作出錯:
C:\>java -Xms536870932 -Xmx536870912
Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified至強64位雙CPU,原則上面來說64位的CPU應當可以用到無限大的內存了,也還是理論上的了。可以java -Xmx2000M -version這樣一路加上去試試看你的可以加到多大。
???? (2)工具測試:? 壓力測試:對應用系統進行性能采樣于監控,(Wily有一套產品可以在運行期進行調優,但我沒有用過),我用的P6Spy,加MS的那個壓力測試工具,也有D用LoadRunner來跑一跑,在SQL語句這個地方有太多的名堂可做了。
?????? 建議軟件方面:
?? ??? a、軟件配置 Apache2.2.0 + mod_ajp + jrockit-R26.0.0-jdk1.5.0_04+? Tomcat5.5.15 (啟多個)+apr1.2.2 .
?????? b、內存建議4g以上 。 tomcat的內存參數使用 set JAVA_OPTS=%JAVA_OPTS%-Xms1024m -Xmx1024m? (內存2g的話,建議set JAVA_OPTS=%JAVA_OPTS%-Xms512m -Xmx512m).
????? c、tomcat5.5版本的性能已經大幅度提高了。
?????
???
posted on 2006-03-17 23:29
xnabx 閱讀(437)
評論(0) 編輯 收藏 所屬分類:
Java