<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    oscache使用和研究

    Oscache的使用非常方便,特別是jsp cache用的非常廣泛。Oscache的文檔中也對jsp cache tag的配置有詳細說明,但對如普通pojo對象的cache講的較少,也許是比較簡單的緣故。今天做了個測試方案,寫測試案例進行了比較和研究。

    測試方案1在本機上直接測試,循環從metabase庫中的process_info表取得數據(表中只有2條記錄)比較使用cache和不使用cache的性能(為平均值)。

    代碼如下:

     1public class DatabaseCacheTest extends TestCase {
     2    GeneralCacheAdministrator admin = null;
     3
     4    protected ApplicationContext ctx;
     5
     6    protected ProcessInfoDAO processInfoDAO;
     7
     8    protected void setUp() throws Exception {
     9        String[] paths = "/spring/dataAccessContext.xml",
    10                "/spring/spring-biz-db.xml" }
    ;
    11        ctx = new ClassPathXmlApplicationContext(paths);
    12
    13        processInfoDAO = (ProcessInfoDAO) ctx.getBean("processInfoDAO");
    14        admin = new GeneralCacheAdministrator();
    15    }

    16
    17    protected void tearDown() throws Exception {
    18        admin.destroy();
    19    }

    20
    21    public void testGetFromCache() {
    22        long t1 = System.currentTimeMillis();
    23
    24        for (int i = 0; i < 10000; i++{
    25            ProcessInfoDO pdo = getProcess("65");
    26            assertEquals(pdo.getProcessName(), "TestProcess");
    27        }

    28        System.out.println(System.currentTimeMillis() - t1);
    29
    30    }

    31
    32    private ProcessInfoDO getProcessByCache(String id) {
    33        ProcessInfoDO pdo;
    34        try {
    35            pdo = (ProcessInfoDO) admin.getFromCache("65");
    36            return pdo;
    37        }
     catch (NeedsRefreshException e) {
    38            pdo = processInfoDAO.selectById(65);
    39            admin.putInCache("65", pdo);
    40            return pdo;
    41        }

    42    }

    43
    44    private ProcessInfoDO getProcess(String id) {
    45        return processInfoDAO.selectById(65);
    46    }

    47}

    48


    ?         循環100次,使用cache用時578ms,直接從數據庫取用時2015ms。

    ?         循環1000次,使用cache用時719ms,直接從數據庫取用時13984ms。

    ?         循環10000次,使用cache用時2016ms,直接從數據庫取用時131188ms。

    使用圖例比較,系列1表示循環的次數,系列2為使用cache的用時,系列3為不使用cache的用時??梢钥闯觯S著循環次數的增多,使用cache方案的性能優勢更加明顯。

    結論:使用cache,隨著循環的增多,用時增長較緩慢,而不使用cache基本是等比例增長。在循環次數較多時,使用cache cpu利用率顯著提高,能達到90%以上。不使用cache則只能上到50%左右,更多是在等待數據庫返回結果。所以使用cache能大大減輕數據庫的壓力,提高應用服務器的利用率,符合我們對應用服務器進行水平擴展的要求。

     

     

    posted on 2006-02-16 13:39 pesome 閱讀(4020) 評論(1)  編輯  收藏 所屬分類: 開源軟件

    評論

    # re: oscache使用和研究 2006-02-19 09:23 Jonney

    在OSCache中,使用了硬盤緩存的話似乎不能刪除緩存文件,真是個讓人頭痛的地方……  回復  更多評論   

    <2006年2月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627281234
    567891011

    導航

    統計

    公告

    主要記錄作者在學習java中的每一步足跡。除非特別說明,所有文章均為本blog作者原創,如需轉載請注明出處和原作者,如用于商業目的,需跟作者本人聯系。
    歡迎大家訪問:

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    java技術

    人間百態

    朋友們的blog

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一区二区三区免费在线观看| 麻豆高清免费国产一区| 亚洲av无码一区二区乱子伦as| 亚洲精品白浆高清久久久久久| 污视频在线免费观看| 亚洲香蕉成人AV网站在线观看| 国产成人亚洲综合无| 成人毛片18女人毛片免费96| 亚洲精品日韩专区silk| 免费毛片在线播放| A级毛片高清免费视频在线播放| 亚洲午夜电影在线观看高清 | a免费毛片在线播放| 亚洲人成在线观看| 四虎影库久免费视频| 一区二区三区四区免费视频| 久久久久久亚洲精品无码| 亚洲福利视频导航| 免费一看一级毛片| 日本免费人成在线网站| 一区二区三区免费在线观看| 亚洲人成网国产最新在线| 国精无码欧精品亚洲一区| 永久黄网站色视频免费| 91香蕉国产线在线观看免费| 一级毛片免费播放视频| 亚洲日韩国产AV无码无码精品| 久久精品国产亚洲av成人| 亚洲国产成人五月综合网| 18禁免费无码无遮挡不卡网站 | 国产午夜无码片免费| 国产精品亚洲аv无码播放| 蜜臀91精品国产免费观看| 在线免费观看亚洲| 视频免费在线观看| 日日摸夜夜添夜夜免费视频 | 精品丝袜国产自在线拍亚洲| 亚洲一区二区三区偷拍女厕| 国产美女无遮挡免费网站| 免费观看国产网址你懂的| 久久久久久毛片免费看|