下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、在服務器上排除問題的頭五分鐘我們團隊為上-家公司承擔運維、優(yōu)化和擴展工作的時候,我們碰到了各種不同規(guī)模的性能很差的系統(tǒng)和 基礎(chǔ)設(shè)備(大型系統(tǒng)居多,比如cnn或者世界銀行的系統(tǒng))。要是再趕上修復時間緊、奇葩的技術(shù)平臺、 缺少信息和文檔,基木上這過程都會慘痛到讓我們留下深刻的記憶。遇到服務器故障,問題出現(xiàn)的原因很少可以一下就想到。我們基木上都會從以下步驟入手:一、盡可能搞清楚問題的前因后果不要_下子就扎到服務器前面,你需要先搞明口對這臺服務器有多少已知的情況,還有故障的具體情況。 不然你很可能就是在無的放矢。必須搞清楚的問題仃: 故障的表現(xiàn)是什么?無響應?報錯? 故障是什么時候發(fā)現(xiàn)的? 故障是否可
2、重現(xiàn)? 有沒有出現(xiàn)的規(guī)律(比如每小時出現(xiàn)-次) 最后一次對整個平臺進行更新的內(nèi)容是什么(代碼、服務器等)? 故障影響的特定用戶群是什么樣的(已登錄的,退出的,某個地域的)? 基礎(chǔ)架構(gòu)(物理的、邏輯的)的文檔是否能找到? 是否有監(jiān)控平臺可用?(比如munin、zabbix、nagios、new relic什么都可以) 是否有日志可以查看?.(比如loggly、airbrake gray log-)最后兩個是最方便的信息來源,不過別抱太人希望,基木上它們都不會有。只能再繼續(xù)摸索了。二、有誰在?1.2.$ w$ last用這兩個命令看看都仃誰在線,仃哪些川戶訪問過。這不是什么關(guān)鍵步驟,不過最好別在其
3、他川戶正干活 的時候來調(diào)試系統(tǒng)。有道是一山不容二虎嘛。(ne cook in the kitchen is enough.)三、之前發(fā)生了什么?1. $ history查看一下之前服務器上執(zhí)行過的命令??匆幌驴偸菦]錯的,加上前面看的誰登錄過的信息,應該有點川。 另外作為admin要注意,不要利用自己的權(quán)限去侵犯別人的隱私哦。到這里先捉醒-下,等會你可能會需要更新histtimeformat環(huán)境變量來顯示這些命令被執(zhí)行的時間。對 要不然光看到一堆不知道啥時候執(zhí)行的命令,同樣會令人抓狂的。四、現(xiàn)在在運行的進程是啥?1. $ pstree -a2. $ ps aux這都是查看現(xiàn)冇進程的。ps aux
4、的結(jié)果比較雜亂,pstree -a的結(jié)果比較簡單明了,町以看到正 在運行的進程及相關(guān)用戶。五、監(jiān)聽的網(wǎng)絡服務$netstat-ntlp2$netstat-nulp3$netstat-nxlp我-般都分開運行這三個命令,不想一下子看到列出一人堆所冇的服務。netstat -nalp倒也可以。 不過我絕不會用numeric選項(鄙人-點淺薄的看法:tp地址看起來更方便)。找到所有正在運行的服務,檢查它們是否應該運行。查看各個監(jiān)聽端口。在netstat顯示的服務列表屮的 ptd利ps aux進程列表中的是一樣的。如果服務器上冇好幾個java或者erlang什么的進程在同時運行,能夠按p1d 分別找到
5、每個進程就很重要了。通常我們建議每臺服務器上運行的服務少一點,必要時可以增加服務器。如果你看到一臺服務器上有三四 i-個監(jiān)聽端口開著,那述是做個記錄,回頭有空的時候清理一下,重新組織一下服務器。六、cpu和內(nèi)存1.$free -m2$uptime3$top4$htop注意以下問題: 還冇空余的內(nèi)存嗎?服務器是否正在內(nèi)存和硬盤之間進行swap? 還冇剩余的cpu嗎?服務器是幾核的?是否冇某些cpu核負載過多了? 服務器最人的負載來自什么地方?平均負載是多少?七、硬件冇很多服務器還是裸機狀態(tài),可以看一下: 找到raid卡(是否帶bbu備用電池?)、cpu、空余的內(nèi)存插槽。根據(jù)這些情況可以大致了解
6、換件問題的來源和性能改進的辦法。 網(wǎng)代是否設(shè)置好?是否止運行在半雙工狀態(tài)?速度是lombps?有沒有tx/rx報錯?八、10性能1.$ iostat -kx 22$ vmstat 2 103$ mpstat 2 104$ dstat -top-io -top-bio這些命令對于調(diào)試后端性能非常冇用。 檢查磁盤使用屋:服務器硬盤是否已滿? 是否開啟了 swap交換模式(si/so)? cpu被誰占用:系統(tǒng)進程?用戶進程?虛擬機? dstat是我的最愛。用它可以看到誰在進行10:是不是mysql吃掉了所有的系統(tǒng)資源?還是 你的php進程?九、掛載點和文件系統(tǒng)1$ mount2. $ cat /et
7、c/fstab3. $vgs4 $pvs5 $ivs6.$df -h7$ lsof +d / /一共掛載了多少文件系統(tǒng)? 有沒有某個服務專用的文件系統(tǒng)?(比如mysql?) 文件系統(tǒng)的掛載選項是什么:noatime? default?冇沒冇文件系統(tǒng)被重新掛載為只讀模式了? 磁盤空間是否還有剩余? 是否有大文件被刪除但沒有清空? beware not to kill your box */如果磁盤空間冇問題,你是否還冇空間來擴展一個分區(qū)?十、內(nèi)核.中斷和網(wǎng)絡:l$ sysctl -a | grep 2$ cat /proc/interrupts3$ cat /proc/net/ip_conntr
8、ack /是否有某個定時任務運行過于頻繁? 是否有些用戶提交了隱藏的定時任務? 在出現(xiàn)故障的時候,是否正好有某個備份任務在執(zhí)行?十三、應用系統(tǒng)日志這里邊可分析的東西就多了,不過恐怕你作為運維人員是沒功夫去仔細研究它的。關(guān)注那些明顯的問題, 比如在一個典型的lamp (linux+apache+mysql+perl)應用環(huán)境里: may take some time on busy servers */4$ netstat5.$ ss -s你的中斷請求是否是均衡地分配給cpu處理,還是會有某個cpu的核因為人量的網(wǎng)絡中斷請求 或者raid請求而過載了?swap交換的設(shè)置是什么?對于工作站來說sw
9、appinness設(shè)為60就很好,不過對于服務器就太 耕了:你最好永遠不耍讓服務器做swap交換,不然對磁盤的讀寫會鎖死swap進程。 conntrack_max是否設(shè)的足夠人,能應付你服務器的流凰? 在不同狀態(tài)k(time_wait, -)tcp連接時間的設(shè)置是怎樣的?如果要顯示所有存在的連接,netstat會比較慢,你可以先川ss看-下總體情況。你述川以看一下linux tcp tuning 了解網(wǎng)絡性能調(diào)優(yōu)的一些要點。十一.系統(tǒng)日志和內(nèi)核消息1.$ dmesg2$ less /var/log/messages3$ less /var/log/secure4$ less /var/log/
10、auth查看錯誤和警告消息,比如看看是不是很多關(guān)于連接數(shù)過多導致? 看看是否有硬件錯誤或文件系統(tǒng)錯誤?分析是否能將這此錯謀事件和前面發(fā)現(xiàn)的疑點進行時間上的比對。十二、定時任務1$ is /etc/cron* + cat2.$ for user in $ (cat /etc/passwd | cut -fl d:); do crontab -u $user;done apache & nginx;查找訪問和錯誤口志,玄接找5xx錯誤,再看看是否冇limit_zone錯 誤。 mysql;在mysql. log找錯誤消息,看看有沒有結(jié)構(gòu)損壞的表,是否有innodb 修復進程在運行,是否冇disk/index/query問題. php-fpm;如果設(shè)定了 php-slovv日志,直接找錯誤信息(php, mysql, memcache,),如果沒設(shè) 定,趕緊設(shè)定。 varnish;在varnishlog和varnishstat 里,檢查hit/miss比.看看配置信息里是否遺 漏了什么規(guī)則,使最終用戶可以直接攻擊你的后端? ha-proxy;后端的狀況如何?健康狀況檢查是否成功?是前端還是后端的隊列大小達到最大值 了?結(jié)論經(jīng)過這5分鐘z后,你應該對如下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- S-palm-P0-180-199-TFA-生命科學試劑-MCE-7378
- 3-Hydroxytectorigenin-7-O-β-D-xylosyl-1-6-β-D-glucopyranoside-生命科學試劑-MCE-6603
- 二零二五年度糧油產(chǎn)業(yè)投資基金合作協(xié)議
- 二零二五年度美縫劑銷售質(zhì)保及品牌推廣協(xié)議
- 2025年度股權(quán)變更及知識產(chǎn)權(quán)轉(zhuǎn)讓協(xié)議
- 2025年度跨境電商園區(qū)場地租賃合同終止協(xié)議
- 2025年度私人二手車置換及金融支持合同
- 二零二五年度自然人與體育健身公司合作推廣協(xié)議
- 教育科技對小學教育的深遠影響
- 風景區(qū)節(jié)假日旅游高峰安全應急預案
- 長江委水文局2025年校園招聘17人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學院公開招聘15人歷年高頻重點提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學年七年級上學期期末數(shù)學試題
- 智研咨詢發(fā)布:2024年中國MVR蒸汽機械行業(yè)市場全景調(diào)查及投資前景預測報告
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- JGJ46-2024 建筑與市政工程施工現(xiàn)場臨時用電安全技術(shù)標準
- 煙花爆竹重大危險源辨識AQ 4131-2023知識培訓
- 銷售提成對賭協(xié)議書范本 3篇
- 企業(yè)動火作業(yè)安全管理制度范文
- EPC項目階段劃分及工作結(jié)構(gòu)分解方案
- 《跨學科實踐活動4 基于特定需求設(shè)計和制作簡易供氧器》教學設(shè)計
評論
0/150
提交評論