放翁(文初)的一畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks

              今天,有一個使用我優(yōu)化的Memcached cache Client給我發(fā)了郵件問到一個參數(shù)的作用,覺得還是比較重要的一個參數(shù),因此也說一下,同時也在這里說一下,當前優(yōu)化過的客戶端已經(jīng)作了幾次小的升級,修復(fù)了一些邊界數(shù)據(jù)的問題,大家如果在使用的話,最好能夠升級。(http://code.google.com/p/memcache-client-forjava/

             郵件如下:

             你好:
          <socketpool name="pool0" failover="true" initConn="5" minConn="5"
            maxConn="250" maintSleep="5000" nagle="false" socketTO="3000"
            aliveCheck="true" >
            <servers>10.0.0.16:11111</servers>
            <weights>10</weights>
           </socketpool>
          能解釋下maintSleep這個意思么?我看有的資料說吧它設(shè)置為0性能更好,能給些建議么?謝謝??!我們現(xiàn)在的PV大約每天500萬。

           

              這個參數(shù)是對此連接池維護線程的檢查間隔時間的配置,如果配置小于等于0,則將不會有后臺線程維護此連接池,參數(shù)單位為毫秒,下面解釋一下維護連接池的含義,其實就和其他的資源池一樣,資源池的目的就是為了解決資源的申請和釋放的開銷增加系統(tǒng)壓力的問題,將資源通過池的方式回收重用,有利于系統(tǒng)性能的提高。memcached cache client 其實是通過socket來和服務(wù)端進行通信,建立socket連接也是比較消耗時間的工作,因此配置了池的初始連接數(shù)(initConn),最小連接數(shù)(minConn),最大連接數(shù)(maxConn)。這三者關(guān)系如下圖,維護他們之間狀態(tài)轉(zhuǎn)移的就是后臺線程。

           

              后臺進程維護資源池的作用就是將有限資源回收,例如數(shù)據(jù)庫連接,如果一臺oracle只有500個連接數(shù)可以支持,那么如果一個應(yīng)用都占用了50個閑置,那對于其他需要資源的應(yīng)用來說無疑是一種浪費。但如果配置了資源管理,但由于應(yīng)用屬于忙時和閑時交替比較頻繁的情況,那么如果時間配置的不是很合適,就會達不到原來資源池的作用,資源反復(fù)回收和申請。所以對于這個參數(shù)的配置,個人覺得一定要配,配置的值需要注意,初始化和最小的值可以是自己預(yù)估平時平均并發(fā)處理的均值,最大的連接數(shù)當然依賴于資源的總數(shù),而維護時間間隔則最好是能夠根據(jù)閑時和忙時的情況來考慮配置,這樣既不會浪費資源,同時也不會使資源池時效。

              順帶說一句,如果對于數(shù)據(jù)丟失要求不是很苛刻,然后網(wǎng)絡(luò)情況也不錯的時候,可以將aliveCheck設(shè)置為false,因為如果是true,在每一次發(fā)送任何數(shù)據(jù)操作之前都會去做心跳檢查,這個未來也會考慮去優(yōu)化。

          posted on 2008-11-21 15:28 岑文初 閱讀(1950) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 昌黎县| 隆化县| 新邵县| 南安市| 仁寿县| 长宁县| 浦江县| 兴隆县| 乐至县| 北川| 大埔县| 竹北市| 鹤山市| 白山市| 许昌县| 苍溪县| 化隆| 河北省| 西乌珠穆沁旗| 陇西县| 宣化县| 五台县| 如皋市| 衢州市| 云龙县| 西乌| 华宁县| 四川省| 竹山县| 建昌县| 东城区| 六枝特区| 鹤峰县| 庆安县| 昭苏县| 莱州市| 陇南市| 张家川| 木兰县| 秭归县| 济源市|