以java平臺為基礎,專注項目管理、關注電子商務
          攬住母親的肩頭,敬父親一杯酒,對愛的女人說“我愛你”,和另外一個男人打架,不要打女人,有一個自己的孩子,年輕的時候去漂泊,有自己的一份事業.
          ?????????系統優化是一項復雜、繁瑣、長期的工作,優化前需要監測、采集、測試、評估,優化后也需要測試、采集、評估、監測,而且是一個長期和持續的過程,不是說現在

          優化了,測試了,以后就可以一勞永逸了,也不是說書本上的優化就適合眼下正在運行的系統,不同的系統、不同的硬件、不同的應用優化的重點也不同、優化的方法也不

          同、優化的參數也不同。性能監測是系統優化過程中重要的一環,如果沒有監測、不清楚性能瓶頸在哪里,優化什么呢、怎么優化呢?所以找到性能瓶頸是性能監測的目的,

          也是系統優化的關鍵。系統由若干子系統構成,通常修改一個子系統有可能影響到另外一個子系統,甚至會導致整個系統不穩定、崩潰。所以說優化、監測、測試通常是連在

          一起的,而且是一個循環而且長期的過程,通常監測的子系統有以下這些:
          • CPU
          • Memory
          • IO
          • Network

          這些子系統互相依賴,了解這些子系統的特性,監測這些子系統的性能參數以及及時發現可能會出現的瓶頸對系統優化很有幫助。

          應用類型

          不同的系統用途也不同,要找到性能瓶頸需要知道系統跑的是什么應用、有些什么特點,比如 web server 對系統的要求肯定和 file server 不一樣,所以分清不同系統的應用類型很重要,通常應用可以分為兩種類型:

          • IO 相關,IO 相關的應用通常用來處理大量數據,需要大量內存和存儲,頻繁 IO 操作讀寫數據,而對 CPU 的要求則較少,大部分時候 CPU 都在等待硬盤,比如,數據庫服務器、文件服務器等。
          • CPU 相關,CPU 相關的應用需要使用大量 CPU,比如高并發的 web/mail 服務器、圖像/視頻處理、科學計算等都可被視作 CPU 相關的應用。

          看看實際中的例子,第1個是文件服務器拷貝一個大文件時表現出來的特征,第2個是 CPU 做大量計算時表現出來的特征:

          $ vmstat 1
          procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
           r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
           0  4    140 1962724 335516 4852308  0    0   388 65024 1442  563  0  2 47 52  0
           0  4    140 1961816 335516 4853868  0    0   768 65536 1434  522  0  1 50 48  0
           0  4    140 1960788 335516 4855300  0    0   768 48640 1412  573  0  1 50 49  0
           0  4    140 1958528 335516 4857280  0    0  1024 65536 1415  521  0  1 41 57  0
           0  5    140 1957488 335516 4858884  0    0   768 81412 1504  609  0  2 50 49  0
          
          $ vmstat 1
          procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
           r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
           4  0    140 3625096 334256 3266584  0    0     0    16 1054  470 100 0  0  0  0
           4  0    140 3625220 334264 3266576  0    0     0    12 1037  448 100 0  0  0  0
           4  0    140 3624468 334264 3266580  0    0     0   148 1160  632 100 0  0  0  0
           4  0    140 3624468 334264 3266580  0    0     0     0 1078  527 100 0  0  0  0
           4  0    140 3624712 334264 3266580  0    0     0    80 1053  501 100 0  0  0  0
          

          上面兩個例子最明顯的差別就是 id 一欄,代表 CPU 的空閑率,拷貝文件時候 id 維持在 50% 左右,CPU 大量計算的時候 id 基本為 0。

          底線

          我們如何知道系統性能是好還是差呢?這需要事先建立一個底線,如果性能監測得到的統計數據跨過這條線,我們就可以說這個系統性能差,如果數據能保持在線內我們就說性能好。建立這樣底線需要知道一些理論、額外的負載測試和系統管理員多年的經驗。如果自己沒有多年的經驗,有一個簡單劃底線的辦法就是:把這個底線建立在自己對系統的期望上。自己期望這個系統有個什么樣的性能,這是一個底線,如果沒有達到這個要求就是性能差。

          監測工具

          我們只需要簡單的工具就可以對 Linux 的性能進行監測,以下是 VPSee 常用的工具:

          工具簡單介紹
          top查看進程活動狀態以及一些系統狀況
          vmstat查看系統狀態、硬件和系統信息等
          iostat查看CPU 負載,硬盤狀況
          sar綜合工具,查看系統狀況
          mpstat查看多處理器狀況
          netstat查看網絡狀況
          iptraf實時網絡狀況監測
          tcpdump抓取網絡數據包,詳細分析
          mpstat 查看多處理器狀況
          tcptrace數據包分析工具
          netperf網絡帶寬工具
          dstat綜合工具,綜合了 vmstat, iostat, ifstat, netstat 等多個信息
          posted on 2010-10-25 09:30 cssseek 閱讀(2418) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2010年10月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          友情鏈接

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 美姑县| 岱山县| 济阳县| 澎湖县| 新田县| 葵青区| 桐城市| 平江县| 南木林县| 江城| 馆陶县| 阳原县| 石家庄市| 昔阳县| 尼勒克县| 乌拉特后旗| 全椒县| 达拉特旗| 凤翔县| 兴化市| 通江县| 桦南县| 普安县| 博客| 望奎县| 禹州市| 冕宁县| 东乌珠穆沁旗| 子长县| 盐山县| 凌源市| 根河市| 阜城县| 沙田区| 云龙县| 城口县| 南充市| 怀化市| 阜阳市| 桃园县| 揭东县|