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

運維人員如何應對訪問出錯故障?

運維 系統(tǒng)運維
在做運維工作時,或多或少都會遇到訪問出錯或緩慢問題,這里以兩個小的例子來簡單說明下這類問題的troubleshooting的思路。

[[112082]]

在做運維工作時,或多或少都會遇到訪問出錯或緩慢問題,這里以兩個小的例子來簡單說明下這類問題的troubleshooting的思路。

一、用戶查詢平臺故障一例

查詢平臺結構

  1. nginx:80----------ip1/ip2 java------jdbc---(haproxy)--ip3(3000)+ip4(3000)hiveserver2---hdfs 

從后端應用開始查:

1、通過hive cli運行sql,檢測hadoop運行job的狀態(tài),正常。

2、由于應用使用jdbc的方式連接hiveserver2,使用beeline測試hiveserver2的狀態(tài),正常。

連接方法:

  1. !connect jdbc:hive2:/xxxx:30000/cdnlog 

3、查看應用狀態(tài),由于是java應用,因此***時間使用jstat查看下gc信息。發(fā)現(xiàn)因為s0和old區(qū)100%導致應用在做頻繁的full gc,定位到是存在內存泄露的問題,通過jmap打印相關堆棧信息來進一步分析。

  1. jstat -gcutil  14266 1000 1000 
  2. S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  3. 100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050 
  4. 100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050 
  5. 100.00   0.00 100.00 100.00  21.65    596   77.267   629 2817.783 2895.050 

4、再來看nginx的訪問日志,可以明顯看到nginx首先proxy到ip1,當響應超時后再proxy到ip2,因此從日志中可以看到兩個status和upstream response time.

截取的一段日志:"8.999, 0.008" "ip1:8081, ip2:8081" "502, 200" "9.007"

存在的問題:

沒有有效的java監(jiān)控(包括性能監(jiān)控和日志監(jiān)控)

二、推薦域名訪問故障問題

故障現(xiàn)象:

用戶訪問緩慢,一個url有時響應超過3s,并且會有一定的幾率abort.

域名整個的訪問流程:

client-----cdn-----內部cdn節(jié)點-----源站(F5--nginx---java----redis---db)

從用戶端開始入手:

1)通過curl xxxx --trace-time --verbose來查看訪問時間的變化情況,單一請求時間3s,漸變點在用戶等待服務器響應上

2)用戶與cdn服務器連通性沒有問題(延遲5ms以內,無丟包),這點從client—cdn建立連接耗時也可以看出來(5ms)

3)源站nginx響應時間2ms,說明后端應用正常,源站到cdn節(jié)點延遲是50ms,無丟包,同時看到在cdn內部經(jīng)過3多層代理,這就導致cdn內部任何一層有問題都會產(chǎn)生慢速響應

4)調整cdn策略為一層代理,問題得到緩解不過還是有一定比例的慢速響應

5)跳過cdn節(jié)點,直接指向源站來進行訪問測試,發(fā)現(xiàn)有一定的幾率abort

6)在client端通過tcpdump抓包,發(fā)現(xiàn)client---server連接建立正常,但是server端有一定的概率會返回RST給client,造成abort的產(chǎn)生


wKiom1NGuEbgevnLAAJRoh7dZ1A587.jpg

即用戶到F5正常,由F5到后端nginx出現(xiàn)問題,最終定位到是由于F5配置出錯導致proxy到了錯誤的server上。

【存在問題】

1、RST不會在服務器上產(chǎn)生日志,是tcp層面的問題,還沒到應用層,因此通過監(jiān)控nginx的訪問日志無法發(fā)現(xiàn)這種問題,需要對client端的性能做監(jiān)控

2、F5的配置有些問題,對于后面機器的檢測,只是使用了ping的方法,沒有檢測端口導致有一部分的請求會分發(fā)到有問題的機器(比較理想的請求使用url的應用層檢測)

【小結】

對于這類問題,可以通過兩種方式來troubleshooting,從應用出發(fā)和從client端出發(fā)。

兩種方法的思路都是一樣的,首先要清楚的了解整個的訪問鏈,然后對訪問進行分解,對每一步都進行檢測分析。

同時要注意服務器qos和用戶端qos的結合。

責任編輯:黃丹 來源: 51TCO博客
相關推薦

2013-05-06 15:10:18

IT運維管理大數(shù)據(jù)

2013-03-29 14:08:27

系統(tǒng)運維人員突發(fā)性故障

2013-03-21 17:17:34

2015-06-23 14:24:03

2013-03-29 09:15:08

IT運維運維人員運維工程師

2018-03-27 16:23:53

運維AI智能

2022-08-04 07:51:09

分布式轉型運維

2015-09-30 11:45:30

自動化技能運維

2010-01-28 10:09:27

IT運維人員

2015-06-01 11:10:24

2009-04-23 16:54:35

運維管理網(wǎng)絡設備安全

2020-03-19 09:32:10

數(shù)據(jù)庫運維技術

2012-07-03 11:18:20

運維disable tab

2017-05-16 14:25:35

運維云服務DevOps

2020-09-14 10:32:39

Linux命令文件

2019-07-31 16:27:05

戴爾

2018-09-10 05:03:51

網(wǎng)絡故障故障排查運維

2014-09-12 14:50:07

運維Docker

2010-07-02 09:17:29

技能運維人員

2014-01-21 09:55:21

運維人員日志實踐
點贊
收藏

51CTO技術棧公眾號