• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    采用鋪底數據進行 SOA 應用的性能測試

    發布: 2010-6-30 09:59 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 24次 | 進入軟件測試論壇討論

    領測軟件測試網

      或許你會問,為什么要準備這些鋪底數據?這些數據不是我們的實際生產環境的數據,那為什么要花時間去準備如此大量的數據呢?

      答案是,系統在有鋪底數據和沒有鋪底數據的情況下,性能會有很大的差異。那為什么會這樣呢?

      首先,如果沒有那些鋪底數據,那么本來為一張表建立了一個索引,當系統的數據量很小的時候,數據庫就有可能造成全表掃描,而不走索引掃描,這樣就會造成系統的性能降低。

      如果數據量很小的話,我們不知道進行一次查詢時候的 SQL 語句究竟是哪種執行路徑方案。(數據庫有自動根據 SQL 語句算出一條自認為最優化的路徑的功能。譬如 DB2 的 ACCESS PATH。ACCESS PATH 會隨著數據量的多少的變化而變化的。一旦系統比較龐大,在日積月累中,數據量會越來越大的。所以要準備一定數量的數據,讓 ACCESS PATH 保持相對穩定。

      1.3 沒有鋪底數據有可能造成系統發生數據庫的死鎖

      如果數據量少,數據庫為了優化有的時候就不用 INDEX 掃描,而采用全表掃描,這樣造成整表被鎖,導致死鎖,而數據量大了以后數據庫會進行 INDEX 掃描,所以不會瑣住整個表。所以在有些情況下在系統上線時準備一些無用的數據放在表中,讓數據庫不會導致全表掃描!雖然有的時候可以通過改變鎖的策略去解決這個問題,但是如果存在風險,在上線系統中就要避免。

      1.4 鋪底數據使得系統性能更加真實 , 更符合生產環境的真實情況

      在數據庫里面存入鋪底數據,系統從一開始上線的時候,就已有了一個比較穩定的環境。如果沒有鋪底數據,那系統的環境可能隨時面臨著不穩定的因素:如性能陡變,數據庫異常 ( 資源池不夠用,數據庫死鎖,數據庫全表掃描等等 ),響應時間突然下降。所以準備鋪底數據,不但對性能測試意味深遠,而且對即將上線的生產環境也是至關重要的。試想在銀行系統中,如果不準備鋪底數據,一旦系統上線的時候發生了問題,那么銀行會損失多少客戶!

      1.5 準備鋪底數據要則

      準備鋪底數據主要有以下幾點原則:

      準備的數據量大。簲祿䦷熘械臄祿恐灰葍却娲笊先舾杀,結果就差不多了。

      數據在準備的時候,要保持原表的約束關系。

      每張表的數據量要符合真實情況(對此點要求可能比較高 , 通常的做法是估算一下實際的情況)。

      介紹了這些的原則,如何在實際操作中創建鋪底數據呢?后面的第 2 章將結合上述的三條原則,具體講述如何高性能地準備鋪地數據

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>