天天看點

頁面緩存測試

  問題回顧

  由于網站被頻繁請求的頁面為動态生成web頁,導緻消耗大量系統資源,為了提高使用者對此類網頁通路的響應時間,采用對其該部分頁面使用cache技術。

  對于這種類型的測試其實很簡單,隻要求測試人員做到以下兩點就完全可以應付:

  1、對cache在業務中的實作規則有充分了解(具體說來就是,有哪些頁面使用了cache,cache的有效時間長度為多少,被測伺服器端實體記憶體為多少,配置設定了多少空間給了cache)。

  2、了解在測試過程中需要重點關注的相關性能計數器(例如記憶體)。

  測試第一步,驗證

  測試第二步,并發

   通過設定并發點對同一動态頁面的通路,測試cache是否有等待時間過長的現象。因為第一到達目的地的線程會先到記憶體中存儲它通路完資料庫并生成完頁面 的緩存,這個時候其他線程隻有乖乖等待第一線程做完寫操作後方可進行讀操作,大家知道一個線程在一次操作過程中隻允許有寫或者是讀的權限,兩種權限不允許 在一個線程内同時進行,如果程式中的線程同步鎖處理的不夠好,那麼可能會導緻意外情況發生。例如在多使用者同時通路該頁面時,可能會出現所有線程請求失敗, 遇到這種情況,測試人員可以先多嘗試用串行或者不加并發點進行測試并得出結論。根據經驗遇到這種問題大多數為線程同步機制出現問題所導緻。在測試過程中要 更多關注web server 的記憶體計數器其中包括(頁交換比率\ pages reads\ private byte\ working set )如果緩存命中率底,那麼記憶體頁交換和pages reads會很高,如果大使用者量通路,記憶體不能及時釋放空間,則 working set和private byte會很高,如果懷疑有memory leak現象,可以把其他相關業務同時加上,把執行場景的時間拉長一些,看對其他業務的影響程度。在這裡cache的命中率是cache的關鍵問題,如對 以上計數器不是很了解還請查一下相關幫助檔案,在這裡就不做過多解釋了。

  使用cache的優點

  節省生成頁面時所消耗的cpu和記憶體資源。對于大使用者量的通路使rpt一樣變的很短。

  對資料庫的壓力減少是顯而易見.我個人覺得這個是最重要優勢。

  對于最終使用者和伺服器之間,使用者的請求時間變短了,那麼就縮小了伺服器的資源浪費。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/