<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的用時。可以看出,隨著循環次數的增多,使用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

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲天堂中文资源| 午夜无码A级毛片免费视频| 国产特黄一级一片免费| 亚洲熟妇无码AV在线播放 | 国产一级片免费看| 亚洲神级电影国语版| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 久久精品国产亚洲AV电影| 成人无码区免费A∨直播| 亚洲一区二区中文| 日韩高清免费观看| 久久夜色精品国产噜噜亚洲a| 99久久综合精品免费| 亚洲欧美日韩中文高清www777| 综合亚洲伊人午夜网 | 亚洲国产日韩在线视频| 永久免费av无码网站韩国毛片| 日韩一级片免费观看| 波多野结衣久久高清免费| 456亚洲人成影院在线观| 亚洲精品99久久久久中文字幕| 特黄aa级毛片免费视频播放| 亚洲男人天堂2017| 亚洲国产成人久久精品99| 在免费jizzjizz在线播| rh男男车车的车车免费网站| 亚洲国产91在线| 亚洲不卡中文字幕无码| 日韩av无码久久精品免费| 国产亚洲视频在线观看网址 | 亚洲AV综合色区无码二区爱AV| 51精品视频免费国产专区| 猫咪免费人成在线网站| 中文字幕亚洲综合小综合在线 | 特级毛片全部免费播放| 亚洲人成www在线播放| 亚洲av日韩av天堂影片精品| 亚洲精品99久久久久中文字幕 | 久久精品成人免费观看97| 国产精品无码亚洲一区二区三区| 911精品国产亚洲日本美国韩国|