隨筆-61  評論-13  文章-19  trackbacks-0

          關(guān)于軟件優(yōu)化,硬件升級方面的:

          至強64位雙CPU
          2G內(nèi)存 DDR2 533

          tomcat5.5默認配置
          java5.0默認配置
          mysql5.0默認配置

          帶寬為10M獨享.
          如何改變軟件方面的配置要求。優(yōu)化方面的資料。硬件方面要升級哪些? 以達到支持大約在線用戶為最高2000人。

          處理:
          ???????2000 人在線,每秒鐘請求數(shù)應(yīng)該在幾百次或者更低些的程度,并發(fā)數(shù)不會超過100(平均10妙請求一次),使用普通的 PC 機,每秒鐘也能夠處理上百次的請求;
          ???????緩存優(yōu)化:解決性能問題首先想到的就是緩存,在 Web 應(yīng)用中有很多緩存的方式,可以緩存到 Web 層的 servletContext 中,也可以緩存到業(yè)務(wù)層中,甚至可以在數(shù)據(jù)庫中建立冗余。而生成靜態(tài)頁面是一種極端的做法,一般來說會增加復雜性,同時可能會對靈活性和可維護性造成很大傷害。緩存的要點在于命中率,命中率低的東西不應(yīng)該緩存,除非對內(nèi)存的價格不做考慮。總結(jié)起來設(shè)計上就兩句話,使用 N 層結(jié)構(gòu),合理緩存。根據(jù)程序的需要,適當是使用緩存機制;
          ???????程序進行優(yōu)化方法,比如:每次查找部分記錄,而不是全部查出來,這樣既可以減輕服務(wù)器的負擔,也可以減少網(wǎng)絡(luò)傳輸量; 對于系統(tǒng)中的數(shù)據(jù)庫連接一定要進行妥善的處理; 對需要用 scrchrnozied 的地方要用,但是有些地方可以不用同步化的,這個對速度影響也很大;從代碼入手,優(yōu)化程序,在數(shù)據(jù)持久化上進行改進,采用成熟的庫訪問對象(Data Access Object)設(shè)計模式也會節(jié)省你的服務(wù)器開銷。
          ???????硬件升級:硬件方面還不行,硬盤最好搞陣列,還可以再來一個服務(wù)器,弄個負載均衡,由兩個服務(wù)器來處理用戶的請求,apache必然是要用到的,他將擋在tomcat前處理http請求。
          ???????注意:在硬件足夠強大的時候,將 web 與 db 分兩臺服務(wù)器來做,只會降低效率,因為網(wǎng)絡(luò)編組的成本要比本地內(nèi)存中的復制高幾個數(shù)量級。同樣道理,負載均衡也只會導致更復雜的結(jié)構(gòu),會引起更多的問題,并產(chǎn)生更低于下的效率。將一個應(yīng)用分布于多臺機器的唯一理由,就是由于一臺機器根本頂不住,不得不分。
          ???????環(huán)境優(yōu)化:調(diào)Tomcat、JVM的Heap大小等參數(shù)做一些優(yōu)化, Tomcat的虛擬內(nèi)存管理有最大值限制,可以并發(fā)運行多個Tomcat來均衡負載,tomcat5.5默認配置? ==>改了JAVA_OPTS沒有?開大內(nèi)存 既java_opts= -Xms1024m -Xmx1024m ;? java5.0默認配置??? ==>升級一下到最大的小版本6.0?升級處理
          ????? 系統(tǒng)內(nèi)存測試:
          ???? (1)自己測試:參考tomcat,jvm,mysql優(yōu)化方面的資料。測試如下操作出錯:
          C:\>java -Xms536870932 -Xmx536870912
          Error occurred during initialization of VM
          Incompatible initial and maximum heap sizes specified至強64位雙CPU,原則上面來說64位的CPU應(yīng)當可以用到無限大的內(nèi)存了,也還是理論上的了。可以java -Xmx2000M -version這樣一路加上去試試看你的可以加到多大。
          ???? (2)工具測試:? 壓力測試:對應(yīng)用系統(tǒng)進行性能采樣于監(jiān)控,(Wily有一套產(chǎn)品可以在運行期進行調(diào)優(yōu),但我沒有用過),我用的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、內(nèi)存建議4g以上 。 tomcat的內(nèi)存參數(shù)使用 set JAVA_OPTS=%JAVA_OPTS%-Xms1024m -Xmx1024m? (內(nèi)存2g的話,建議set JAVA_OPTS=%JAVA_OPTS%-Xms512m -Xmx512m).
          ????? c、tomcat5.5版本的性能已經(jīng)大幅度提高了。


          ?????
          ???

          posted on 2006-03-17 23:29 xnabx 閱讀(437) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 吉木萨尔县| 广元市| 揭阳市| 定西市| 齐齐哈尔市| 双柏县| 唐海县| 托克逊县| 五家渠市| 长顺县| 黄冈市| 安新县| 红桥区| 共和县| 江门市| 长葛市| 卢龙县| 高安市| 滦平县| 陆河县| 镇江市| 嘉义市| 永安市| 延长县| 清河县| 双桥区| 德令哈市| 仪征市| 肥西县| 大邑县| 德阳市| 柯坪县| 板桥市| 高雄县| 深泽县| 汉阴县| 惠水县| 建瓯市| 巴彦淖尔市| 辽阳市| 金华市|