<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>

          一次很意外的網(wǎng)站故障經(jīng)歷。

          共 2812字,需瀏覽 6分鐘

           ·

          2023-08-08 03:01

          一次很意外的網(wǎng)站故障經(jīng)歷

          大家好,我是魚皮。這個(gè)周末不太愉快,因?yàn)榻裉靹偲鸫裁悦院兀揖褪盏搅擞脩舴答佌f “魚皮,你的網(wǎng)站又打不開了!一直在加載!”

          我直接精神了好吧!

          首先我們來看下故障的具體表現(xiàn)。

          故障表現(xiàn)

          正常情況下,我的網(wǎng)站在 1 秒內(nèi)就加載完成了:

          但故障發(fā)生時(shí),網(wǎng)站加載了近 30 秒才只加載了一個(gè) loading 轉(zhuǎn)圈圈:

          但是等了一分多鐘,網(wǎng)站還是能加載完成的。所以看上去就像是網(wǎng)速不好、或者服務(wù)器帶寬不足。

          然后我去看了下服務(wù)器的監(jiān)控面板,果然當(dāng)時(shí)服務(wù)器的帶寬基本上被打滿了!

          如下圖,左側(cè)是正常的網(wǎng)絡(luò) IO 流量曲線,右側(cè)是網(wǎng)站故障時(shí)的流量曲線,明顯高了一大截:

          好吧,肯定又是哪個(gè)小可愛在攻擊網(wǎng)站,模擬真實(shí)用戶在刷我的流量吧。已經(jīng)習(xí)以為常了,哪天沒攻擊我才覺得奇怪。。

          為什么有攻擊網(wǎng)站的訪問就變慢了呢?

          其實(shí)很好理解,如果把服務(wù)器網(wǎng)絡(luò)傳輸比作交通運(yùn)輸,路上如果都是肇事車輛,那么正常的車輛就難以通行了,只能一直堵著。而且惡性循環(huán),越來越堵。

          結(jié)果看了下日志,發(fā)現(xiàn)服務(wù)器今天并沒有被攻擊的記錄,無論是 DDOS 還是 CC 攻擊都沒有。

          看來攻擊者又整新活兒了啊,那難道是利用了某些漏洞?

          算了,不瞎猜了,接下來我們看看攻擊者是攻擊了哪個(gè)程序,或者惡意頻繁訪問了哪個(gè)網(wǎng)站。

          我們進(jìn)入服務(wù)器的終端控制臺,輸入 nethogs 命令,查看當(dāng)前服務(wù)器上每個(gè)進(jìn)程使用的網(wǎng)絡(luò)帶寬情況:

          以下截圖是事后截的,數(shù)值和當(dāng)時(shí)不同

          很容易就找出了是哪個(gè)進(jìn)程占用了大量的網(wǎng)絡(luò)帶寬(上圖第 1 個(gè)),進(jìn)程號為 2500。

          然后使用 ps -ef | grep <pid> 命令查看 2500 進(jìn)程的信息,定位到具體是哪個(gè)項(xiàng)目,如下圖:

          咦,kkdaxue?這是啥項(xiàng)目來著?

          哦,想起來了,是我之前給 B 站幾百萬粉的知名校園 UP 主取景框看世界(以下簡稱框框)做的各專業(yè)建議網(wǎng)站 框框大學(xué),不過已經(jīng)很久沒有刻意維護(hù)了,網(wǎng)站也一直穩(wěn)定運(yùn)行。

          為什么攻擊者會盯上這么一個(gè)免費(fèi)的公益網(wǎng)站呢?而且為什么這次攻擊沒有被攔截呢?

          我百思不得其解。。。

          正當(dāng)我犯愁時(shí),找我做網(wǎng)站的框框微信給我發(fā)了條消息,瞬間解決了我的疑惑。如下圖:

          我又去看了下這個(gè)網(wǎng)站的監(jiān)控統(tǒng)計(jì),果然,這個(gè)網(wǎng)站今天短短幾小時(shí)的訪問量竟然比上周全天還多了 16 倍!

          我滴媽呀,萬萬沒想到,這次竟然不是攻擊!而是真的有那么多用戶同時(shí)訪問網(wǎng)站!把我的大水管都撐爆了!

          朋友們誰懂啊,被黑客攻擊了這么多次的我,第一次體會到了被真實(shí)用戶 “攻擊” 的感覺,真是哭笑不得。

          處理方式

          雖然用戶都是真實(shí)用戶,但由于這個(gè)服務(wù)器的總帶寬是有限的,如果繼續(xù)讓這個(gè)網(wǎng)站的流量消耗資源,還會影響服務(wù)器上其他項(xiàng)目的訪問,所以我只能選擇先把這個(gè)網(wǎng)站停掉了(反正大家也擠不進(jìn)去)。

          于是,很多小伙伴又看到了熟悉的 “笑臉”:

          那么如何解決呢?

          帶寬不夠,那就加唄!增加服務(wù)器的帶寬是我直接能想到的最簡單粗暴的方式。

          于是花了點(diǎn)小錢給服務(wù)器加了帶寬,相當(dāng)于水管變大了,應(yīng)該能容納更多用戶的同時(shí)訪問。

          然后我就重新開啟了這個(gè)網(wǎng)站。但沒想到還是頂不住,網(wǎng)站又卡爆了、加載不出來。。。

          那就只能再想其他解決方案了,加帶寬治標(biāo)不治本;而且又不能因?yàn)橛脩舳嗑拖蘖靼桑硐肭闆r下當(dāng)然希望所有人都能同時(shí)訪問。

          所以我去找框框確認(rèn)下 “大概會有多少人同時(shí)訪問網(wǎng)站”,便于我評估方案:

          結(jié)果我發(fā)現(xiàn)量級比我想的還要大。。。這個(gè)網(wǎng)站竟然登上了抖音上海同城榜的 第一 !!!

          看來沒辦法了,只能用那個(gè)了。。。那個(gè)危險(xiǎn)但是牛皮的技術(shù)。。。

          沒錯(cuò),就是 CDN!

          因?yàn)榫W(wǎng)站主要的流量和帶寬資源占用在于前端網(wǎng)頁文件,所以 CDN 會比什么水平擴(kuò)容的容器技術(shù)更直接有效。

          所謂 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò)),是指把用戶要訪問的資源(比如網(wǎng)站文件)提前加載到離用戶較近的節(jié)點(diǎn)服務(wù)器上,這樣用戶需要訪問網(wǎng)站時(shí),不用只從我那一臺服務(wù)器去取,而是可以從不同的、較近的服務(wù)器節(jié)點(diǎn)訪問,不僅分散了原始服務(wù)器的壓力、也能提高用戶訪問速度。

          CDN 原理圖

          使用 CDN 后,網(wǎng)站就能夠正常訪問了,理論上 人再多也不怕!

          這么牛的技術(shù),為啥之前我不用呢?答案很簡單,CDN 要花 money,流量越大,花的越多。。。

          所以不到萬不得已,我現(xiàn)在很不想用 CDN。畢竟本來框框大學(xué)就是免費(fèi)的,網(wǎng)站穩(wěn)定的情況下,能省則省。



          好吧,整個(gè)事情就是這樣。最后也是希望我們開發(fā)的框框大學(xué)網(wǎng)站能夠給學(xué)弟妹們帶來幫助。雖然這次我是幕后的技術(shù)支持,但是仍然為框框的想法和工作點(diǎn)贊,并且為我們的作品感到驕傲,希望有更多前輩們可以在網(wǎng)站上留下您寶貴的經(jīng)驗(yàn)~

          框框大學(xué):https://www.kkdaxue.com/

          一張很有趣的截圖哈哈:

          往期推薦

          看完這個(gè),我直接把 SQL 刷通了!

          實(shí)習(xí)天天crud,很迷茫...

          我入伙了!

          千萬千萬不要在方法上打斷點(diǎn)!太坑了!

          手寫 OJ 系統(tǒng),真的很難么?

          被字節(jié)拷打了!基礎(chǔ)還是太重要了...

          瀏覽 17608
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  啪啪网站免费观看 | 国产第99页 | 日本一道本视频一二三 | 草逼毛片| 亚洲黄色免费大全 |