<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一次Mysql訪問慢故障排查案例

          共 1638字,需瀏覽 4分鐘

           ·

          2022-06-08 14:15

          背景



          某企業(yè)開發(fā)環(huán)境用戶反應,在相同的機房,相同網(wǎng)段,不同IP地址的mysql服務器,相同訪問,一個響應很快,一個明顯的慢。

          納悶之余,網(wǎng)深科技工程師幫其分析了原因。

          分析之前,先約定一下,以下對響應快的簡稱“很快”,響應慢的簡稱“很慢”吧。

          故障復現(xiàn)



          在查看了用戶使用mysql連接測試這一操作的演示,的確存在諸如用戶的描述的現(xiàn)象。如下:

          從用戶操作層面,的確存在明顯快慢差別,后者讓人無法接收,“很慢”的確很慢。

          問題分析



          接下來, 進入信息采集,偵察分析階段。

          客戶端抓包分析

          在客戶端電腦,分別采集了很快和很慢以上操作的報文信息。結(jié)論如下。

          我是很快客戶端的報文

          從很快客戶端數(shù)據(jù)看,三步握手后,服務器更新了一下窗口,然后在0.05秒后返回了數(shù)據(jù)庫版本信息。繼而后續(xù)交換較快,整個連接持續(xù)1.2秒時長。

          ???我是很慢客戶端的報文

          下面看一下很慢同學的表現(xiàn)。

          同樣,三步握手后,服務器更新了一下窗口信息。

          接下來發(fā)生了一個異常現(xiàn)象,服務器在22秒后,才發(fā)送過來版本信息。

          整個連接時長約27秒。

          通過比較看到,很慢同學的確很慢。相同操作一個是1.2秒,一個是27秒。

          服務器端抓包分析

          從上述分析看到,很慢同學網(wǎng)絡連接建立時間很快,慢的主要原因是服務器響應回來的信息時間太長。

          那么,站著服務器角度,比較分析一下,是否可能由于某些網(wǎng)絡因素導致了很慢的存在。

          我是很快服務器的報文

          在很快服務器上采集數(shù)據(jù),從下圖看到,第四個未攜帶數(shù)據(jù)的ack更新窗口包和第五個payload報文(數(shù)據(jù)庫版本信息)之間時間差約0.008秒。

          ??????我是很慢服務器的報文

          同樣,在很慢服務器上,更新窗口包和數(shù)據(jù)庫版本包之間,時間差約22秒。的確很慢。

          ???? ??抓包分析結(jié)論

          通過上述在客戶端和服務器端的對比分析看到,很慢同學慢的原因是,服務器本身發(fā)出報文的時間很長,約22秒。

          因此,通過抓包分析的結(jié)論是,很慢的原因是服務器的原因,與網(wǎng)絡無關(guān)

          進一步問題分析



          一般情況下,如果是網(wǎng)絡運維部門,問題分析到這里,基本就可以停止了,然后理直氣壯的把球踢給系統(tǒng)部門,哼,這問題不是我的原因。

          而網(wǎng)深科技的技術(shù)人員,為了表現(xiàn)出自己的真才實學,帶著打破砂鍋問到底精神,還想進一步探索,為什么會有這種現(xiàn)象出現(xiàn)?

          于是,有了進一步問題分析的環(huán)節(jié)。

          細節(jié)決定成敗。

          在前面服務器抓包分析中,從服務器本身抓包信息來看,服務器本身的IP地址并沒有顯示為數(shù)字格式。與mysql通訊的地址顯示如下。

          很快:demo.cloudinside.com.cn.mysql

          很慢:Dev1.NAPM.mysql

          既然發(fā)現(xiàn)了2者的不同之處,先使用簡單的ping命令,嘗試一下,看看返回結(jié)果。

          從最簡單的ping著手,以下是在2臺服務器內(nèi)部ping的結(jié)果。

          我是很快服務器的ping

          很快同學ping結(jié)果很快出現(xiàn),名稱解析失敗,結(jié)果是Unknown host,如下圖。

          ??????我是很慢服務器的ping

          很慢同學ping結(jié)果很慢出現(xiàn),約20秒。結(jié)果是Host name lookup failure,主機名解析失敗。

          ??????從DNS配置信息入手,下面檢查2臺服務器DNS配置信息。

          我是很快服務器的DNS

          查看很快服務器DNS,顯示有多個namesever。

          ???? ?我是很慢服務器的DNS

          但很慢服務器的DNS卻沒有配置,如下。

          解決問題



          通過上述分析,已找到很快和很慢兩者的差異。下一步,嘗試解決問題,通過給很慢配置DNS信息,再做一下ping操作,看看結(jié)果。

          很慢服務器配置DNS

          為很慢服務器配置DNS信息,內(nèi)容與很快服務器一樣。

          如下圖。

          ????? 很慢服務器ping操作

          接下來,再操作一次ping命令。

          發(fā)現(xiàn)很快返回信息,結(jié)果和很快服務器一樣,為Unknow host。

          ????? 問題驗證

          通過上述分析和配置后,再次對很慢同學進行mysql連接測試,速度颼颼的,它終于不再飽受埋怨了。

          以下是很慢成為了很快的見證。

          整個連接時長1.13秒。

          問題解決。


          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  69久久久久久久 | 男人天堂影视av 欧美成人免费性爱 | 国产美女啪啪视频 | 国产经典操逼 | 大鸡巴操嫩逼视频 |