PS,1880后程序員

          看不完的牙,寫不完的程序,跑不完的步。
          隨筆 - 97, 文章 - 34, 評論 - 10, 引用 - 0
          數據加載中……

          web應用中常出現的內存泄露

          企業級管理軟件的web應用和普通的web站點,B2C等有很大的不同。內存泄露的檢查點也會不同。
          檢查點一:什么信息需要緩存在session中
          在各種管理軟件中,最常見的是把當前用戶的權限等信息緩存在session中。好啦,問題來了,如果系統的權限很復雜:操作權限,管理權限,數據權限,字段權限,巴拉巴拉一大堆的話,那么把這大堆信息放到session中,一個用戶就要占掉20M+的內存。訪問用戶一多,系統就掛了。而且管理軟件一般都會把session的timeout設置的很多,除非用戶手動的注銷,否則即使木有操作也會吊在系統上很久。因此要評估此部分的設計,把不必要的或者訪問不頻繁的數據拖出session,放過session TA老人家吧。
          檢查點二:session數據傳遞
          管理系統很多都會采用幀結構,常見的上幀查詢條件,下幀顯示結果。問題來了,采用幀結構如果傳遞數據到頁面,就要通過session。開發的時候,一般都是后臺開發負責業務邏輯,前臺開發負責數據展示。前后開發一脫節,后臺向前臺傳遞了一個集合對象,前臺木有用,也不管清除。這堆垃圾數據全部都駐留內存,所以系統跑著跑著就宕機了。
          檢查點三:不要試圖通過頁面來實現分頁
          管理系統由于業務復雜性等要求,大家都把注意力首先放在實現業務功能上,有時對數據的量級不是很關注。有的系統剛開始好好的,用著用著不不爽了,原因就是數據量一增加,很多相關的問題都會暴露出來。最常見的是分頁處理,先把數據都取過來,在前臺分頁顯示。千萬不要這樣,100條數據木有問題,1000條,10000條呢,結果就是前臺很忙,然后就掛掉了。

          posted on 2013-01-16 11:32 amenglai 閱讀(379) 評論(0)  編輯  收藏 所屬分類: 我愛內存泄露

          主站蜘蛛池模板: 德江县| 黄骅市| 淄博市| 衡东县| 邯郸县| 峨边| 桑植县| 闸北区| 万州区| 喀喇沁旗| 喜德县| 耿马| 丰顺县| 宾川县| 博客| 徐汇区| 达拉特旗| 唐山市| 海门市| 任丘市| 申扎县| 黄梅县| 利津县| 阿图什市| 遂溪县| 赤壁市| 九江市| 棋牌| 溆浦县| 平山县| 宜丰县| 苍溪县| 秀山| 武夷山市| 阿坝县| 旬阳县| 五原县| 抚顺县| 锡林浩特市| 淄博市| 上饶县|