(2.7)壓力測試(自動化)
分布式文件系統的負載能力總是存在上限的,當系統過載時,系統就有可能出現性能下降、功能異常、拒絕訪問等問題。壓力測試就是要驗證系統在大壓力下,包括數據多客戶端、高OPS壓力、高IOPS/吞吐量壓力,系統是否仍然能夠正常運行、功能是否正常、系統資源消耗情況,從而為生產運營提供依據。壓力測試采用自動化方式進行,使用LTP、Iozone、 Postmark、fio對系統進行持續增加壓力,同時使用功能測試方法驗證功能正確性,并采用top, iostat, sar, ganglia等工具對系統資源進行監控。
(2.8)性能測試(自動化)
性能是評估一個分布式文件系統的最為關鍵的維度,根據文件系統在不同場景下的性能表現,可以判斷文件系統是否適合特定的應用場景,并為系統性能調優提供依據。文件系統性能主要包括IOPS、OPS、吞吐量三個指標,分別表示小文件、元數據、大數據的處理能力。性能測試采用自動化方式進行,測試系統在不同負載情況下的性能,主要包括小文件、大文件、海量目錄、email server、fileserver、videoserver、webserver等應用下的OPS、IOPS、吞吐量,產生IO負載的工具可采用 Iozone、Postmark、Fio、filebench等。
文件系統測試工具簡介
(1) LTP (http://ltp.sourceforge.net/)
LTP(Linux Test Project)是由SGI和IBM聯合發起的項目,提供一套驗證Linux系統可靠性、健壯性、穩定性的測試套件,也可用來進行POSIX兼容測試和功能性測試。LTP提供了2000多個測試工具,可以根據需要自行進行定制。同時,LTP還是一個優秀的自動化測試框架,基于它通過設計測試用例和測試工具可以實現更多功能的測試自動化。
(2) fstest (http://www.tuxera.com/community/posix-test-suite/)
fstest是一套簡化版的文件系統POSIX兼容性測試套件,它可以工作在FreeBSD, Solaris, Linux上用于測試UFS, ZFS, ext3, XFS and the NTFS-3G等文件系統。fstest目前有3601個回歸測試用例,測試的系統調用覆蓋chmod, chown, link, mkdir, mkfifo, open, rename, rmdir, symlink, truncate, unlink。
(3) locktests (http://nfsv4.bullopensource.org/tools/tests/locktest.php)
locktest用于fcntl鎖功能的壓力測試。運行時,主進程先在指定文件區域設置字節范圍的記錄鎖,然后多個從進程嘗試在該文件區域執行read, write, 加新鎖操作。這些操作結果是可預期的(矩陣如下),如果操作結果與預期一致則測試通過,否則測試失敗。
(4) PCTS (http://www.opengroup.org/testing/linux-test/lsb-vsx.html)
PCTS(Posix Complicance Testing Suite),POSIX一致性測試套件,是從POSIX標準出發,通過嚴格的、定量地測試,以驗證、評價、認證操作系統符合POSIX標準的程序的測試軟件。IEEE std2003.1是PCTS的設計標準,常見的PCTS主要有VSX-PCTS、NIST-PCTS、OPTS-PCTS三種實現,上面提供的連接為 VSX-PCTS。
(5) Iozone (http://www.iozone.org)
Iozone是目前應用非常廣泛的文件系統測試標準工具,它能夠產生并測量各種的操作性能,包括read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write等操作。Iozone目前已經被移植到各種體系結構計算機和操作系統上,廣泛用于文件系統性能測試、分析與評估的標準工具。
(6) Postmark (http://www.gtlib.cc.gatech.edu/pub/debian/pool/main/p/postmark/)
Postmark 是由著名的 NAS 提供商 NetApp 開發,用來測試其產品的后端存儲性能。Postmark主要用于測試文件系統在郵件系統或電子商務系統中性能,這類應用的特點是:需要頻繁、大量地存取小文件。 Postmark 的測試原理是創建一個測試文件池。文件的數量和最大、最小長度可以設定,數據總量是一定的。創建完成后, Postmark 對文件池進行一系列的事務( transaction )操作,根據從實際應用中統計的結果,設定每一個事務包括一次創建或刪除操作和一次讀或添加操作,在有些情況下,文件系統的緩存策略可能對性能造成影響, Postmark 可以通過對創建 / 刪除以及讀 / 添加操作的比例進行修改來抵消這種影響。事務操作進行完畢后, Post 對文件池進行刪除操作,并結束測試,輸出結果。 Postmark是用隨機數來產生所操作文件的序號,從而使測試更加貼近于現實應用。輸出結果中比較重要的輸出數據包括測試總時間、每秒鐘平均完成的事務數、在事務處理中平均每秒創建和刪除的文件數,以及讀和寫的平均傳輸速度。
原文轉自:http://www.uml.org.cn/Test/201212104.asp