歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux 技術評估測試 Linux 的可靠性

Linux 技術評估測試 Linux 的可靠性

日期:2017/2/27 14:24:56   编辑:更多Linux
  本文記錄了 Linux 內核和其他核心 OS 組件的測試結果與分析,從庫和設備驅動程序到文件系統和網絡,測試范圍無所不含,所有的測試都是在相當不利的條件下進行,並且經歷了很長的時間。IBM Linux Technology Center 剛剛結束了這次長達三個多月的全面測試,並將他們的 LTP (Linux Test Project) 測試結果與 developerWorks 的讀者共享。    IBM Linux Technology Center (LTC) 成立於 1999 年 8 月,想讓 Linux 成功的共同夢想使其與 Linux 開發團體直接合作。它的 200 多名員工使之成為開放源代碼開發者的較大團隊組織之一。他們提供的代碼范圍包括,從補丁到結構化的內核改變,從文件系統和國際化工作到 GPL'd 驅動程序。他們還致力於追蹤 IBM 內部進行的 Linux 相關開發。    LTC 尤其感興趣的領域是 Linux 可擴展性、適用性、可靠性和系統管理 —— 所有的目的都是為了使 Linux 更適用於企業。他們為 Linux 團體所做出了諸多貢獻,包括使 Linux 可以工作於 S/390 主機,將 JFS 日志文件系統移植到 Linux,等等。    LTC 的另一項核心任務是,以測試商業項目的方式在實驗室條件下對 Linux 進行專業的測試。LTC 與 SGI、OSDL、Bull 和 Wipro Technologies 一道促成了 LTP Linux 測試項目(LTP)。下面是經過 LTP 套件在 Linux 內核上超長時間全面測試得到的結果。如您所猜,Linux 極好地承受了持續的壓力的考驗。    測試結果一瞥  下面的總結基於運行期間的測試和觀察結果:    * Linux 內核和其他核心 OS 組件 —— 包括庫、設備驅動程序、文件系統、網絡、IPC 和內存管理 —— 運轉穩定並完成了所有期望的運行期間,沒有任何嚴重的系統故障。  * 每次運行的成功率都很高(超過 95%),只有極少數的期望中的間歇故障,而這些故障是設計用來使資源過載的測試同時執行的結果。  * Linux 系統性能在長時間的運行中沒有下降。  * 在 SMP 系統上,Linux 內核正確地擴展以使用硬件資源(CPU、內存、硬盤)。  * Linux 系統可以很好地承受 CPU 持續滿負荷運轉(超過 99%)和極重內存壓力。  * Linux 系統正確地處理了過載的情況。    測試證明了 Linux 內核和其他核心組件在 30 天、60 天、90 天內是可靠的穩定的,可以為用戶提供一個長時間運行的健壯的、企業級的環境。    Linux 可靠性度量  目標  對 IBM Linux Technology Center 來說,Linux 可靠性工作的目標是,使用 LTP 測試套件對 Linux 操作系統進行超長時間的測試,重點在於 Linux 用戶環境相關的工作負荷(參閱 參考資料 以深入了解 LTP)。而並不是致力於證明缺陷。    測試環境概述  本文描述的是使用 LTP 測試套件進行的 30 天與 60 天的 Linux 可靠性度量測試的測試結果和分析。測試以 SuSE Linux Enterprise Server v8 (SLES 8) 作為測試內核,以 IBM pSeries 服務器作為測試硬件。使用的是一個特別設計的 LTP 壓力測試場景,在使用網絡與內存管理的同時並行地運行大范圍的內核組件,並在測試系統上生成高工作負荷壓力。Linux 內核、TCP、NFS 和 I/O 測試組件以重工作負荷壓力為目標。    測試    30 天  pSeries 30 天 LTP 壓力執行結果    * 機器:p650 LPAR  * CPU:(2) Power4- 1.2 GHz  * 內核:Linux 2.4.19-ull-ppc64-SMP (SLES 8 SP 1)  * LTP 版本:20030514  * 99.00% 平均 CPU 利用率(用戶:48.65%,系統:50.35%)  * 80.09% 平均內存利用率(8GB)    觀測結果:    * 在 p650 LPAR 上 SLES 8 PPC64 30 天壓力運轉成功完成。  * 測試工具是 LTPstress。測試用例以並行和串行方式執行。  * 內核、TCP、NFS 和 I/O 測試組件都以重工作負荷壓力為目標。  * 成功率:97.88%。  * 沒有嚴重的系統故障。      60 天  60 天 LTP 壓力執行結果:pSeries    * 機器:B80  * CPU:(2) Power3- 375 MHz  * 內核:Linux 2.4.19-ull-ppc64-SMP (SLES 8 SP 1)  * LTP 版本:20030514  * 99.96% 平均 CPU 利用率(用戶:75.02%,系統:24.94%)  * 61.69% 平均內存利用率(8GB)  * 3.86% 平均交換分區利用率(1GB)    觀測結果:    * 在 pSeries B80 上 SLES 8 PPC64 60 天壓力運轉成功完成。  * 測試工具是 LTPstress。測試用例以並行和串行方式執行。  * 內核、TCP、NFS 和 I/O 測試組件以重工作負荷壓力為目標。  * 成功率:95.12%。  * 沒有嚴重的系統故障。     測試基礎設施    硬件與軟件環境  系統 處理器 內存 硬盤 交換分區 網絡  pSeries 650 (LPAR) Model 7038-6M2 2 - POWER4+(TM) 1.2GHz 8GB (8196MB) 36GB U320 IBM Ultrastar(有其他硬盤,但沒有使用) 1GB 以太網控制器:AMD PCnet32  pSeries 630 Model 7026-B80 2 - POWER3(TM)+ 375 MHz 8GB (7906MB) 16GB 1GB 以太網控制器:AMD PCnet32    pSeries 630 Model 7026-B80 和 pSeries 650 (LPAR) Model 7038-6M2 上的軟件環境是相同的。  組件 版本  Linux SuSE SLES 8 with Service Pack 1  內核 2.4.19-ul1-ppc64-SMP  LTP 20030514    方法學  系統的穩定性和可靠性通常以連續運轉時間和系統的可靠運行時間來度量。    最初運行的是一組為期 30 天的基線運轉,然後增加到 60 天和 90 天的 xSeries 和 pSeries 服務器上的 Linux 測試運轉。初始重點在於內核、網絡和 I/O 測試。    測試工具  Linux Test Project(即 LTP;參考資料 中有鏈接和更多信息)是 SGI、IBM、OSDL、Bull 和 Wipro Technologies 合作的項目,目的是為開放源代碼團體提供測試套件,以測試 Linux 的可靠性、健壯性和穩定性。Linux Test Project 是測試 Linux 內核和相關部件的工具的集合。目的是通過使內核測試工作自動化來幫助改進 Linux 內核。    當前,在 LTP 套件中有超過 2000 個測試用例,涵蓋了內核的大多數接口,比如系統調用、內存、IPC、I/O、文件系統和網絡。測試套件每月都會更新發布,可以運行於多種體系結構上。已知的 LTP 測試套件測試過的體系結構有 11 種,包括 i386、ia64、PowerPC、PowerPC 64、S/390、S/390x (64bit)、MIPS、mipsel、cris、AMD Opteron 和嵌入式體系結構。我們的可靠性測試中使用的 LTP 版本是 20030524,這是當時可以獲得的最新版本。    測試策略  在基線運轉中有兩個特別的階段:一個 24 小時的“初始測試”,接下來是壓力可靠性運轉階段,或者說是“壓力測試”。    通過初始測試是開始測試的必要條件。初始測試包括 LTP 測試套件在硬件和操作系統上 24 小時的成功運轉,這些硬件和操作系統將用於可靠性運轉。LTP 測試套件包附帶的驅動程序腳本 runalltest.sh 用於驗證內核。這個腳本串行地運行一組成包的測試,並報告全部結果。也可以選擇同時並行地運行幾個實例。默認地,這個腳本執行:    * 文件系統壓力測試。  * 硬盤 I/O 測試。  * 內存管理壓力測試。  * IPC 壓力測試。  * 調試器測試。  * 命令功能的驗證測試。  * 系統調用功能的驗證測試。    壓力測試可以驗證產品在系統高使用率時的健壯性。作為 runalltest.sh 的補充,特別設計了一個名為 ltpstress.sh 的測試場景,在使用網絡與內存管理的同時並行地運行大范圍的內核組件,並在測試系統上生成高壓力負荷。ltpstress.sh 也是 LTP 測試套件的一部分。這個腳本並行地運行相似的測試用例,串行地運行不同的測試用例,這樣做是為了避免由於同時訪問同一資源或者互相干擾而引起的間歇性故障。默認地,這個腳本執行:    * NFS 壓力測試。  * 內存管理壓力測試。  * 文件系統壓力測試。  * 數學 (浮點) 測試。  * 多線程壓力測試。  * 硬盤 I/O 測試。  * IPC (pipeio, semaphore) 測試。  * 系統調用功能的驗證測試。  * 網絡壓力測試。    系統監控  LTP 測試套件附帶的修改過的 top 工具用作系統監控工具。使用 top 可以實時地觀察處理器的行為。改進的 top 工具具有附加的功能,可以將 top 結果的快照保存到文件中,並給出結果文件的平均總結,包括 CPU、內存和交換空間利用率等信息。    在我們的測試中,每 10 秒鐘截取一次系統利用率(或者 top 輸出文件)的快照,並保存到結果文件。另外,每天或每周要處理系統利用率的快照和 LTP 測試輸出文件並得到數據分數,以確定系統在長時間運轉中性能是否下降。此功能由 cron 作業和腳本控制。    測試之前  所有選定的測試系統的硬件配置盡可能相同。去掉了額外的硬件以減少潛在的硬件故障。在映像安裝過程中選擇最低的安全選項。預留至少 2 GB 的硬盤空間以保存 top 數據文件和 LTP 日志文件。    注意,這是一個測試場景;現實生活中,最好建議用戶保持安全設置遠高於最低設置。    測試期間  在測試期間系統不要受到干擾。偶爾訪問一下系統以確認測試仍在進行是可以接受的。確認的手段包括使用 ps 命令、檢查 top 數據和檢查 LTP 日志數據。    測試之後  當測試結束後,系統監控工具 top 立刻停止。所有的 top 數據文件,包括每天或每




Copyright © Linux教程網 All Rights Reserved