Websphere到底是否需要配置IHS
作者:tacy lee
有用Websphere做過項目的人可能都知道,ibm一般都建議在Websphere前面加一個IHS來做webserver,據說這樣性能會提高30%左右,這樣說是否有道理呢,下面我做了一個簡單的測試來驗證:
測試環境:
硬件:
應用服務器:Dell6600
壓力測試客戶端:自用筆記本(T2050 1.6G)
軟件:
系統:CentOS 4.4
Websphere 6.0.2.17+IHS6.0.2.17(部署在同一臺機器上)
首先配置好Websphere和IHS,發布一個簡單的測試應用,用loadrunner來測試一下不同的組合看看(錄制一個打開首頁就可以了),下面是我的測試數據:
測試方法 | 每秒處理請求數 | 響應時間 | 服務器CPU |
直接請求Websphere | 4600/s | 0.013s | 28% |
通過IHS轉發請求 | 6800/s | 0.009s | 26% |
數據顯示,這還不是一點點提升,竟然快接近50%,把靜態資源放置到IHS中測試了一把,基本和通過IHS轉發差不多,稍微有些提升,不過放到IHS中可以方便Cache(Edge Server就包括了Caching Proxy component)
下面記錄一下如何放置靜態資源文件到IHS中:
1、打開Plugins中的plugin-cfg.xml,修改如下內容:
<UriGroup Name="default_host_eos_URIs"> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/*.jsp"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/*.do"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/eosmgr/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/axis/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/axis2/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/eoshome_deploy/*"/> </UriGroup>
也可以通過修改WEB-INF下ibm-web-ext.xmi中的fileServingEnabled為false,然后重新生成plugin-cfg.xml,但是我試了一下好像不好用。
另外Websphere(fixpacks 5.1.1.17, 6.0.2.25 and 6.1.0.15)之后的版本給Webcontainer增加了一個自定義參數
com.ibm.ws.webcontainer.disallowAllFileServing
設定它為true產生同樣的效果(而且他會覆蓋ibm-web-ext.xmi中的設置)。
2、拷貝你的所有資源文件到IHS的Root Directory中
3、重啟IHS
posted on 2007-12-13 14:19 tacy lee 閱讀(5247) 評論(7) 編輯 收藏 所屬分類: 性能相關