自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

性能偵探: 哪兒出問(wèn)題了?

運(yùn)維 系統(tǒng)運(yùn)維
如果您在 IBM AIX 操作系統(tǒng)上遇到某個(gè)性能問(wèn)題,那么您要做的最重要的任務(wù)就是正確診斷它。當(dāng)用戶告訴您 “系統(tǒng)運(yùn)行緩慢” 時(shí),是時(shí)候執(zhí)行一些偵探工作了。您需要知道應(yīng)該詢問(wèn)哪些問(wèn)題才能幫助您查明真正的問(wèn)題。本系列由兩部分組成,第一篇文章將演示如何通過(guò)描述性能問(wèn)題來(lái)幫助您識(shí)別瓶頸。第 2 部分將介紹有助于從一開(kāi)始就預(yù)防這些瓶頸的一些不錯(cuò)的實(shí)踐。

 “我們遇到一個(gè)問(wèn)題!”

當(dāng)系統(tǒng)運(yùn)行緩慢時(shí),用戶就會(huì)尋找快速的解決辦法。有時(shí),快速解決問(wèn)題的一種誘惑是尋找一個(gè)快速修復(fù)程序,但該程序可能存在隱藏的癥狀,無(wú)法解決真正的底層問(wèn)題。這不是一種聰明的做法。如果醫(yī)生在患者說(shuō)完他們感覺(jué)不適后立即開(kāi)出處方,您會(huì)怎么想?醫(yī)藥藝術(shù)的核心是診斷。修復(fù)系統(tǒng)性能問(wèn)題也是如此。

 
詢問(wèn)正確的問(wèn)題
您可能需要做大量的調(diào)查工作,才能準(zhǔn)確找到是什么因素導(dǎo)致響應(yīng)緩慢。報(bào)告的***個(gè)癥狀可能并不是惟一的癥狀。它甚至可能不是最嚴(yán)重的癥狀。但它對(duì)找到何處發(fā)生了資源爭(zhēng)用非常重要。這個(gè)收集流程可能會(huì)花費(fèi)一些時(shí)間,但它可以避免您 “修復(fù)” 錯(cuò)誤的問(wèn)題,或避免您將時(shí)間和精力花在事實(shí)上并不重要的癥狀上。
當(dāng)然,完全修復(fù)任何問(wèn)題的***步是識(shí)別問(wèn)題是什么。要理解為什么響應(yīng)緩慢,關(guān)鍵在于知道查看何處出了問(wèn)題和詢問(wèn)出了什么問(wèn)題。如果您可以將性能問(wèn)題的詳細(xì)描述集中起來(lái),診斷會(huì)更容易、更迅速。
 
隔離問(wèn)題
如果我必須確定處理性能問(wèn)題的單一規(guī)則,我會(huì)說(shuō):您必須準(zhǔn)確查明您基礎(chǔ)架構(gòu)中的哪個(gè)組件是難點(diǎn)所在。為此,您不但必須查看運(yùn)行緩慢的組件,還要查看正常運(yùn)行的組件。
與簡(jiǎn)單地假設(shè)系統(tǒng)系統(tǒng)綁定了處理器、網(wǎng)絡(luò)緩慢或存儲(chǔ)區(qū)域網(wǎng)絡(luò) (SAN) 配置較差相比,找到資源爭(zhēng)用區(qū)域要有效得多。您會(huì)發(fā)現(xiàn),解決一些能揭示基礎(chǔ)架構(gòu)中的哪個(gè)組件可能需要注意的基本問(wèn)題是很有必要的。

AIX Performance PMR 工具
如果您有一個(gè)系統(tǒng)的執(zhí)行性能低于預(yù)期,AIX Performance PMR 數(shù)據(jù)收集工具可能會(huì)為您提供方便(參見(jiàn) 參考資料)。除了提供一些幫助識(shí)別資源瓶頸的腳本,Performance PMR 工具 (perfpmr) 還包含一組問(wèn)題,可幫助您和 IBM 支持人員準(zhǔn)確查明性能問(wèn)題位于何處。通過(guò)解決這些問(wèn)題,您可以更好地掌握真正的瓶頸。
首先,詢問(wèn)一些基本的問(wèn)題。到底是什么東西運(yùn)行緩慢?緩慢的性能影響著一個(gè)用戶還是許多用戶?是否是某個(gè)進(jìn)程運(yùn)行緩慢,比如一個(gè)報(bào)告、備份或數(shù)據(jù)庫(kù)更新?是否連接到了某個(gè)特定的 SAN 獨(dú)立磁盤(pán)冗余陣列 (RAID) 集的所有系統(tǒng)都響應(yīng)緩慢?哪個(gè)系統(tǒng)受到了影響?哪個(gè)應(yīng)用程序正在運(yùn)行?是整個(gè) IBM Power systems™ 服務(wù)器還是一個(gè)邏輯分區(qū) (LPAR) 受到影響?如果是一個(gè) LPAR 受到影響,那么是否是某個(gè)文件系統(tǒng)或者甚至一個(gè)文件上存在瓶頸?
 
其他工具
如果將性能問(wèn)題縮小到一個(gè) LPAR,然后進(jìn)一步深入研究。您可以通過(guò) df 命令對(duì)文件系統(tǒng)的使用情況進(jìn)行一些基本檢查。nmon 和 topas 等命令可提供邏輯分區(qū)的性能的總體視圖。這兩個(gè)命令都擁有一些菜單,可深入研究它們來(lái)查看處理器的使用情況,識(shí)別繁忙的磁盤(pán),顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息和查看其他許多有用指標(biāo)的菜單。圖 1 顯示了 topas 命令的主屏幕。
 
圖 1. topas 命令的主屏幕
 
vmstat 命令對(duì)識(shí)別性能瓶頸特別有用。僅這一個(gè)命令就可以顯示內(nèi)存、處理器和 I/O 數(shù)據(jù),在下面的 清單 1 中可以看到該命令。
 
清單 1. 一個(gè) vmstat 示例
 
 
vmstat 1 4
 
System configuration: lcpu=12 mem=7168MB ent=2.80
 
kthr    memory              page              faults              cpu
----- ----------- ------------------------ ------------ -----------------------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa    pc    ec
 5  0 793201 942484   0   0   0   0    0   0 15550 32034 25717  4 37 50  8  1.32  47.1
 1  0 793201 942484   0   0   0   0    0   0 17369 36882 29660  6 40 48  6  1.45  51.6
 0  0 793201 942484   0   0   0   0    0   0 18309 39566 33628  8 39 47  7  1.45  51.9
 4  0 793203 942482   0   0   0   0    0   0 16068 34022 27586  5 39 49  6  1.40  49.8
 
 
有關(guān) vmstat 如何快速查明系統(tǒng)中何處在爭(zhēng)用資源的詳細(xì)說(shuō)明,請(qǐng)參閱 “優(yōu)化 AIX 7 內(nèi)存性能” 系列。請(qǐng)參閱 參考資料,以獲取與這些和其他與系統(tǒng)性能相關(guān)的文章的鏈接。
您能否再現(xiàn)該問(wèn)題?
當(dāng)您使用 perfpmr 工具向 IBM 支持人員報(bào)告一個(gè)性能問(wèn)題時(shí),如果您可以提供問(wèn)題的詳細(xì)描述,那么這會(huì)很有幫助。例如,您可以提供有關(guān)該問(wèn)題的最簡(jiǎn)單的可重復(fù)示例的更多細(xì)節(jié)。當(dāng)您嘗試再現(xiàn)該問(wèn)題時(shí),查看是否有一個(gè)命令或一系列事件始終生成緩慢的結(jié)果。AIX 命令的執(zhí)行是否也很慢?
 
檢查日志文件
日志文件是一個(gè)重要的信息來(lái)源。大部分應(yīng)用程序、數(shù)據(jù)庫(kù)和硬件組件都提供了錯(cuò)誤日志。如果某個(gè)磁帶備份的運(yùn)行速度異常緩慢,原因可能是磁帶驅(qū)動(dòng)器需要清理。如果磁帶驅(qū)動(dòng)器連接到一個(gè) AIX LPAR,您可以運(yùn)行 errpt 命令。使用 -a 標(biāo)志來(lái)提供錯(cuò)誤的詳細(xì)描述,如下面的 清單 2 所示。
 
清單 2. 詳細(xì)的錯(cuò)誤報(bào)告 (errpt -a)
 
# errpt -a | more
LABEL:          TAPE_ERR1
IDENTIFIER:     4865FA9B
 
Date/Time:       Sat Oct  1 12:56:00 AEST 2011
Sequence Number: 136509
Machine Id:      00C***47E4C00
Node Id:         tsm1
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   rmt1
Resource Class:
Resource Type:
Location:
VPD:
        Manufacturer................IBM
        Machine Type and Model......ULT3580-TD3
        Serial Number...............1210002439
        Device Specific.(FW)........93G6
 
Description
TAPE OPERATION ERROR
 
如果有一個(gè)腳本運(yùn)行緩慢,可能它會(huì)生成一些輸出來(lái)表明它在執(zhí)行哪個(gè)階段。
 
是否任何內(nèi)容發(fā)生了變化?
當(dāng)一個(gè)運(yùn)行良好的進(jìn)程突然運(yùn)行緩慢,您自然會(huì)問(wèn),是否有有些內(nèi)容發(fā)生了變化。是否以前(可能在升級(jí)之前)正常運(yùn)行的某個(gè)組件不再正常運(yùn)行?修復(fù)不一定是回滾到升級(jí)前的配置??赡苣枰O(shè)置一個(gè)調(diào)節(jié)參數(shù)或環(huán)境變量。
一個(gè)簡(jiǎn)單的過(guò)程(比如擴(kuò)展文件系統(tǒng))可能需要向卷組添加一個(gè)新的物理卷。如果新的物理卷具有默認(rèn)隊(duì)列深度屬性,這可能導(dǎo)致 I/O 請(qǐng)求在操作系統(tǒng)上排隊(duì),無(wú)論 SAN 能夠多么出色地響應(yīng) I/O 請(qǐng)求。
您可以使用 lsattr 命令檢查設(shè)備屬性。清單 3 中有一個(gè)示例展示了一個(gè)物理卷的隊(duì)列深度。
 
清單 3. 列出設(shè)備屬性
 
 
# lsattr -El hdisk7 -a queue_depth
queue_depth 3  Queue DEPTH True
 
要更改某個(gè)設(shè)備屬性,通??梢允褂?chdev 命令,如 清單 4 中所示。
 
清單 4. 更改設(shè)備屬性
 
 
# chdev -l hdisk7 -a queue_depth=20
hdisk7 changed
 
如果設(shè)備正在使用,您可以釋放可能正在使用它的任何資源或計(jì)劃在重新啟動(dòng)后更改屬性。為此,可以添加 -P 標(biāo)志(參見(jiàn)下面的 清單 5)。
 
清單 5. ***更改設(shè)備屬性
 
 
# chdev -l hdisk7 -a queue_depth=20 -P   # Make permanent change
 
一個(gè)正常運(yùn)行的系統(tǒng)中有非常多的組件,如果您可以確定在出現(xiàn)性能問(wèn)題之前發(fā)生了哪些配置更改,這會(huì)為您帶來(lái)切實(shí)的幫助。
 
您期望獲得怎樣的性能?
如果是***次設(shè)置應(yīng)用程序、系統(tǒng)或硬件,那么對(duì)它們應(yīng)有的性能預(yù)期是否合理?這些預(yù)期的依據(jù)是什么?例如,是否有一種運(yùn)行類(lèi)似進(jìn)程的等效配置比運(yùn)行緩慢的配置要快得多?
您可以在兩個(gè) AIX LPAR 上運(yùn)行 perfpmr 工具,簡(jiǎn)單地對(duì)比它們。性能數(shù)據(jù)可提供一種快速度量正常運(yùn)行的系統(tǒng)應(yīng)該如何表現(xiàn)的方式。
清單 6 演示了如何在 10 分鐘(600 秒)內(nèi)運(yùn)行一個(gè) perfpmr 腳本。輸出的前幾行如下所示。
 
清單 6. 采集 10 分鐘的性能統(tǒng)計(jì)數(shù)據(jù)
 
 
#./perfpmr.sh 600
 
(C) COPYRIGHT International Business Machines Corp., 2000,2001,2002,2003,2004-2008
 
23:12:26-10/05/11 :     perfpmr.sh begin
    PERFPMR: hostname: slowhost
    PERFPMR: perfpmr.sh Version 610 2010/12/01
 
 
問(wèn)題是否是間歇性的?
在這里,perfpmr 工具再次提供了一些關(guān)鍵問(wèn)題。性能是間歇性地緩慢還是一直緩慢?緩慢行為是否有一種模式?例如,有時(shí)系統(tǒng)似乎時(shí)在大量用戶開(kāi)始登錄時(shí)達(dá)到性能峰值,但然后會(huì)迅速回落。
哪個(gè)方面緩慢?
找到到底是什么導(dǎo)致用戶報(bào)告系統(tǒng)運(yùn)行緩慢可能很有用。是登錄所花的時(shí)間還是回送一個(gè)字符所花的時(shí)間?或許某個(gè)事務(wù)花了太長(zhǎng)時(shí)間才完成,或者某個(gè)報(bào)告花了太長(zhǎng)時(shí)間才生成。
重新啟動(dòng)是否會(huì)臨時(shí)修復(fù)問(wèn)題?
如果重新啟動(dòng)會(huì)讓問(wèn)題消失一會(huì),這可能是由于供其他進(jìn)程使用的資源未釋放。如果在重新啟動(dòng)后問(wèn)題再次出現(xiàn)這個(gè)問(wèn)題,這花了多長(zhǎng)時(shí)間?有時(shí)有必要禁用您懷疑導(dǎo)致響應(yīng)緩慢的特定進(jìn)程。
查找可能耗盡內(nèi)存或處理器時(shí)間的進(jìn)程或具查找有過(guò)量 I/O 資源需求的進(jìn)程總是值得的。ps 命令有許多選項(xiàng)可幫助報(bào)告最繁忙的進(jìn)程。清單 7 就是一個(gè)示例。
 
清單 7. ps 命令報(bào)告正在運(yùn)行的進(jìn)程
 
# ps -ef | more
    UID      PID     PPID   C    STIME    TTY  TIME CMD
    root        1        0   0   Oct 04      -  0:01 /etc/init
    root   655466  3866772   0   Oct 04      -  0:00 /usr/sbin/snmpd
    root  2097342        1   0   Oct 04      -  0:00 /bin/ksh /usr/tivoli/tsm/server/bin/
rc.adsmserv
    root  2424972  3866772   0   Oct 04      -  0:00 /usr/sbin/inetd
    root  2883806        1   0   Oct 04      -  0:00 /usr/lib/errdemon
    root  2949246        1   0   Oct 04      -  0:00 /usr/ccs/bin/shlap64
    root  3276878  3866772   0   Oct 04      -  0:00 /usr/sbin/syslogd
    root  3604516        1   0   Oct 04      -  1:24 /usr/sbin/syncd 60
    root  3670082  3866772   0   Oct 04      -  0:05 /usr/sbin/xntpd
    root  3735676  3866772   0   Oct 04      -  0:00 /usr/sbin/muxatmd
    root  3801210  3866772   0   Oct 04      -  0:00 /usr/sbin/hostmibd
    root  3866772        1   0   Oct 04      -  0:00 /usr/sbin/srcmstr
    root  3932286  3866772   0   Oct 04      -  0:00 /usr/sbin/portmap
    root  3997832  3866772   0   Oct 04      -  0:00 /usr/sbin/aixmibd
    root  4063420        1   0   Oct 04      -  0:44 /usr/sbin/getty /dev/consol
e
    root  4128936  3866772   0   Oct 04      -  0:03 sendmail: accepting connect
ions
    root  4259980  3866772   0   Oct 04      -  0:00 /usr/sbin/snmpmibd
    root  4325556        1   0   Oct 04      -  0:02 /usr/sbin/cron
    root  4391124  3866772   0   Oct 04      -  0:03 /usr/sbin/rsct/bin/vac8/IBM.
CSMAgentRMd
    root  4522176        1   0   Oct 04      -  0:00 /usr/bin/dsmcad
    root  4718774  3866772   0   Oct 04      -  0:00 /usr/sbin/rpc.lockd -d 0
    root  4784284  2424972   0   Oct 04      -  1:10 xmtopas -p3
    root  4980888  3866772   0   Oct 04      -  0:00 /usr/sbin/biod 6
    root  5177506  3866772   0   Oct 04      -  0:00 /usr/sbin/nfsd 3891
    root  5243046  3866772   0   Oct 04      -  0:00 /usr/sbin/rpc.mountd
    root  5439672  3866772   0   Oct 04      -  0:04 /usr/sbin/rsct/bin/rmcd -a IBM.
LPCommands -r
    root  5570560        1   0   Oct 04      -  0:00 bin/nonstop_aix @config/nonstop.
properties
    root  5701822  2097342 208   Oct 04      - 938:56 dsmserv quiet
    root  5832888        1   0   Oct 04      -  0:02 /usr/local/sbin/sshd
    root  5898436  3866772   0   Oct 04      -  0:00 /usr/sbin/qdaemon
    root  5963972        1   0   Oct 04      -  0:00 /usr/sbin/uprintfd
    root  6095040  3866772   0   Oct 04      -  0:00 /usr/sbin/writesrv
    root  6160590  3866772   0   Oct 04      -  0:08 /usr/sbin/pcmsrv
    root  6291682  3866772   0   Oct 04      -  0:00 /usr/sbin/rsct/bin/IBM.DRMd
 
問(wèn)題是否與網(wǎng)絡(luò)相關(guān)?
對(duì)于客戶端/服務(wù)器配置,可能有必要檢查問(wèn)題是在服務(wù)器本地運(yùn)行時(shí)發(fā)生的,還是跨網(wǎng)絡(luò)運(yùn)行時(shí)發(fā)生的。您可以從控制臺(tái)運(yùn)行應(yīng)用程序,查看響應(yīng)時(shí)間是否與通過(guò)網(wǎng)絡(luò)連接時(shí)類(lèi)似。
如果應(yīng)用程序使用客戶端/服務(wù)器模型,您可以使用 ping server_IP_address 從客戶端執(zhí)行一些基本測(cè)試(參見(jiàn) 清單 8)。
 
清單 8. 按 IP 地址 Ping
 
ping 192.168.168.30
PING 192.168.168.30: (192.168.168.30): 56 data bytes
64 bytes from 192.168.168.30: icmp_seq=0 ttl=255 time=0 ms
64 bytes from 192.168.168.30: icmp_seq=1 ttl=255 time=0 ms
64 bytes from 192.168.168.30: icmp_seq=2 ttl=255 time=0 ms
64 bytes from 192.168.168.30: icmp_seq=3 ttl=255 time=0 ms
 
----192.168.168.30 PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0/0/0 ms
 
ping IP 地址有助于確定問(wèn)題是否與域名系統(tǒng) (DNS) 配置相關(guān)。如果您懷疑網(wǎng)絡(luò)有問(wèn)題,網(wǎng)絡(luò)配置的圖表或描述是一個(gè)不錯(cuò)的出發(fā)點(diǎn)。
涉及到哪些供應(yīng)商應(yīng)用程序?
一定要知道在性能緩慢的系統(tǒng)上使用了哪些供應(yīng)商應(yīng)用程序。您通常應(yīng)該為一些應(yīng)用程序使用操作系統(tǒng)調(diào)節(jié)、建議的內(nèi)核設(shè)置和其他環(huán)境變量。可能也有一些可修復(fù)應(yīng)用程序的已知性能問(wèn)題的補(bǔ)丁。
您應(yīng)該知道安裝了供應(yīng)商應(yīng)用程序的哪些次要版本/主要版本/級(jí)別,以及應(yīng)用程序最近是否更新過(guò)。
 
一般建議
perfpmr 文檔建議提供簡(jiǎn)單、具體的問(wèn)題實(shí)例的清楚的書(shū)面陳述。它還建議將癥狀和事實(shí)與理論、想法和您自己的結(jié)論分開(kāi)。文檔中表明,“如果可以掌握所有的事實(shí)情況,那么性能團(tuán)隊(duì)可迅速消除不相關(guān)的事實(shí)。”
另一個(gè)建議是,確保使用了正確的機(jī)器來(lái)收集信息。在大型站點(diǎn)(尤其是許多虛擬化環(huán)境)中,很容易從錯(cuò)誤的系統(tǒng)收集數(shù)據(jù)。文檔表明,“這使得分析問(wèn)題變得很困難。”
要識(shí)別機(jī)器型號(hào)和序列號(hào),您可以使用 lsconf 命令。
當(dāng)您處理性能問(wèn)題時(shí),很容易忘記您已采取了哪些步驟來(lái)解決問(wèn)題。記錄采取來(lái)診斷或修復(fù)問(wèn)題的操作可以節(jié)省大量浪費(fèi)的工作。
 
對(duì)耐心的回報(bào)
修復(fù)性能問(wèn)題需要出色的診斷技能,將事實(shí)與理論和假設(shè)分開(kāi)的能力,以及最重要的耐心。解決方案常常很簡(jiǎn)單,您的工作會(huì)以改進(jìn)的系統(tǒng)性能作為回報(bào)。這個(gè)兩部分系列中的下一篇文章將介紹一些實(shí)踐,這些實(shí)踐可幫助您避免從以開(kāi)始就發(fā)生性能瓶頸。
 

【編輯推薦】

  1. Chkdsk大躍進(jìn):Win8磁盤(pán)檢測(cè)時(shí)間大大縮短
  2. Linux下使用mke2fsk格式化分區(qū)的方法
  3. Ubuntu 11.10 利用終端環(huán)境備份還原
責(zé)任編輯:趙寧寧
相關(guān)推薦

2021-03-02 06:02:03

Kafka高并發(fā)系統(tǒng)

2013-10-18 17:09:18

Windows 8.1微軟

2022-06-07 00:33:21

驅(qū)動(dòng)安卓開(kāi)發(fā)

2020-05-27 15:14:55

iOSiPhone更新

2022-09-19 08:35:28

Kafka節(jié)點(diǎn)故障

2019-02-14 10:13:42

網(wǎng)絡(luò)故障RIPIGRP

2017-10-13 12:10:57

Linux服務(wù)器性能CPU和內(nèi)存類(lèi)

2019-05-25 17:19:33

Apple 支持蘋(píng)果設(shè)備

2018-08-22 10:12:07

2021-03-06 10:25:19

內(nèi)存Java代碼

2010-03-22 16:27:57

Windows安全殺毒軟件

2017-08-16 10:12:29

2010-02-01 16:39:32

Dell主板質(zhì)量

2021-02-03 15:12:08

java內(nèi)存溢出

2019-02-27 16:00:28

IT資產(chǎn)審計(jì)

2020-09-02 08:04:59

多線程互聯(lián)網(wǎng)高并發(fā)

2010-09-26 15:53:25

JVM內(nèi)存溢出

2012-01-12 11:02:00

云計(jì)算帶寬瓶頸

2022-03-25 09:01:16

CSS溢出屬性

2020-11-16 07:03:59

Python內(nèi)置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)