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

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

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

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

    “懶惰” Linux 管理員的 10 個關鍵技巧

    發布: 2009-6-19 07:39 | 作者: 網絡轉載 | 來源: IBM | 查看: 202次 | 進入軟件測試論壇討論

    領測軟件測試網

    技巧 7:檢查帶寬

    設想:公司 A 有一個名為 ginger 的存儲服務器,并通過名為 beckham 的客戶端節點裝載 NFS。公司 A 確定他們需要從 ginger 得到更多的帶寬,因為有大量的節點需要 NFS 裝載 ginger 的共享文件系統。

    實現此操作的最常用和最便宜的方式是將兩個吉比特以太網 NIC 組合在一起。這是最便宜的,因為您通常會有一個額外的可用 NIC 和一個額外的端口。

    所以采取此這個方法。不過現在的問題是:到底需要多少帶寬?

    吉比特以太網理論上的限制是 128MBit/s。這個數字從何而來?看看這些計算:

    1Gb = 1024Mb;1024Mb/8 = 128MB;"b" = "bits,"、"B" = "bytes"

    但實際看到的是什么呢,有什么好的測量方法呢?我推薦一個工具 iperf?梢园凑找韵路椒ǐ@得 iperf:

    # wget http://dast.nlanr.net/Projects/Iperf2.0/iperf-2.0.2.tar.gz

    需要在 ginger 和 beckham 均可見的共享文件系統上安裝此工具,或者在兩個節點上編譯并安裝。我將在兩個節點均可見的 bob 用戶的主目錄中編譯它:

    tar zxvf iperf*gz
    cd iperf-2.0.2
    ./configure -prefix=/home/bob/perf
    make
    make install

    在 ginger 上,運行:

    # /home/bob/perf/bin/iperf -s -f M

    這臺機器將用作服務器并以 MBit/s 為單位輸出執行速度。

    在 beckham 節點上,運行:

    # /home/bob/perf/bin/iperf -c ginger -P 4 -f M -w 256k -t 60

    兩個屏幕上的結果都指示了速度是多少。在使用吉比特適配器的普通服務器上,可能會看到速度約為 112MBit/s。這是 TCP 堆棧和物理電纜中的常用帶寬。通過以端到端的方式連接兩臺服務器,每臺服務器使用兩個聯結的以太網卡,我獲得了約 220MBit/s 的帶寬。

    事實上,在聯結的網絡上看到的 NFS 約為 150-160MBit/s。這仍然表示帶寬可以達到預期效果。如果看到更小的值,則應該檢查是否有問題。

    我最近碰到一種情況,即通過連接驅動程序連接兩個使用了不同驅動程序的 NIC。這導致性能非常低,帶寬約為 20MBit/s,比不連接以太網卡時的帶寬還!





    回頁首


    技巧 8:命令行腳本和實用程序

    Linux 系統管理員通過使用權威的命令行腳本會變得更高效。這包括巧妙使用循環和知道如何使用 awk、grepsed 等的實用程序解析數據。通常這可以減少擊鍵次數,降低用戶出錯率。

    例如,假設需要為即將安裝的 Linux 集群生成一個新的 /etc/hosts 文件。一般的做法是在 vi 或文本編輯器中添加 IP 地址。不過,可以通過使用現有 /etc/hosts 文件并將以下內容追加到此文件來實現。在命令行上運行:

    # P=1; for i in $(seq -w 200); do echo "192.168.99.$P n$i"; P=$(expr $P + 1);
    done >>/etc/hosts

    200 個主機名(n001 到 n200)將由 IP 地址(192.168.99.1 到 192.168.99.200)來創建。手動填充這樣的文件有可能會創建重復的 IP 地址或主機名,因此這是使用內置命令行消除用戶錯誤的好例子。請注意,這是在 bash shell(大多數 Linux 發行版的默認值)內完成的。

    再舉一個例子,假設要檢查 Linux 集群中的各個計算節點中的內存大小是否一樣。通常,擁有一個發行版或類似的 shell 是最好的。但是為了演示,以下使用 SSH。

    假設 SSH 設置為不使用密碼驗證。然后運行:

    # for num in $(seq -w 200); do ssh n$num free -tm | grep Mem | awk '{print $2}';
    done | sort | uniq

    這樣的命令行相當簡潔。(如果在其中放入正則表達式情況會更糟)。讓我們對它進行細分,詳細討論各部分。

    首先從 001 循環到 200。使用 seq 命令的 -w 選項在前面填充 0。然后替換 num 變量,創建通過 SSH 連接的主機。有了目標主機后,向它發出命令。本例中是:

    free -m | grep Mem | awk '{print $2}'

    這個命令的意思是:

    • 使用 free 命令獲取以兆字節為單位的內存大小。
    • 獲取這個命令的結果,并使用 grep 獲取包含字符串 Mem 的行。
    • 獲取那一行并使用 awk 輸出第二個字段,它是節點中的總內存。

    在每個節點上執行這個操作。

    在每個節點上執行命令后,200 個節點的整個輸出就傳送(|d)到 sort 命令,以對所有內存值進行排序。

    最后,使用 uniq 命令消除重復項。這個命令會導致以下情況中的一種:

    • 如果所有節點(n001 到 n200)擁有相同的內存大小,則只顯示一個數字。這個數字就是每個操作系統看到的內存大小。
    • 如果節點內存大小不同,將會看到幾個內存大小的值。
    • 最后,如果某個節點上的 SSH 出現故障,則會看到一些錯誤消息。

    這個命令并不是完美無缺的。如果發現與預期不同的內存值,您就不知道是哪一個節點出了問題,或者有多少個節點。為此需要發出另一個命令。

    這個技巧提供了一種查看某些內容的快速方式,而且如果發生錯誤,您可以立刻知道。其價值在于快速檢查。

    延伸閱讀

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

    54/5<12345>

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