2011-10-26 84 views
2

我現在處於一種相當奇特的狀態。長話短說,我是一個擁有約2000名成員的(現實生活)志願者組織的成員。我們目前的網站由不再是該組織成員的成員構建和維護(他已退出)。不幸的是,他是唯一一個真正有權訪問服務器的人,並且在他離開之後並沒有將合作關係移交給其他人。因此,我和一小羣人一直在努力爲自己創建一個新的網站。原始網站上的數據對於新網站來說是非常棒的,所以如果不直接訪問數據庫,我們一直在屏幕上刮取我們需要的內容。網站會自行從拒絕服務攻擊中恢復嗎?

這使我目前的難題。我使用的屏幕抓取腳本非常緩慢,所以我有非常好的(並非)並行化的想法。我認爲瓶頸是由於我的網絡速度慢導致的,所以我愚蠢地決定一次運行250個線程。在我嘗試過之後,網絡服務器神祕地掉了下來,並沒有升起(現在已經過去了大約30分鐘)。

我不是任何一種黑客或安全專家,但我敢肯定我只是不小心在服務器上造成了拒絕服務攻擊。這讓我想到了我的問題 - 假設網站的所有者沒有幫助我們,服務器是否會自動恢復生機? (如果重要,它將由Django在Linode上託管)。網站通常如何從DoS攻擊中恢復?我是否有可能誤診發生了什麼事情,並且可能會有其他解釋嗎?或者網站永遠丟失?

編輯:所有250個請求都是簡單的http請求,如果這改變了任何內容,它將轉到Django管理面板中的頁面。

回答

1

很可能這個系統並沒有真正的失敗,除非這個人可能已經變得生氣,或者託管服務提供商等因爲流量負載而禁用了它。但有很多事情需要考慮。但是,250個連接的負載並不那麼重要,即使是共享主機帳戶,除非您只是用請求氾濫服務器。

根據使用什麼技術,有很多事情「可能」發生了。

  1. 您可能已經在網絡服務器端對命令隊列等進行了限制,可能需要重新啓動應用程序。這可能會在一段時間後自動或需要託管提供商的干預。
  2. 您可能已經重載了應用程序,並使其在強制關閉時使用了太多的內存。有些託管服務提供商會這樣做,但是這些服務提供商可以爲小型時間窗口提供服務,並允許應用程序重新啓動。 (給它一個小時左右)
  3. 你可能推動它超過每月帶寬限制,在這種情況下,它可能會下降,直到下一個計費週期...

無需知道託管服務提供商或環境,這些只是猜測。

我強烈建議雖然關閉你的刮板!

+0

這將是很好的知道,如果你有任何錯誤或細節,或者頁面只是「嘗試」加載? –

+0

它只是試圖加載,永遠不會到達那裏。 – numegil

0

如果你還沒有屏幕抓取軟件,你應該停止。

根據系統的哪個部分關閉(數據庫,服務器,網絡或全部),當負載回落時,它有可能自行恢復。

如果您的應用程序無法支持250個同時連接,您將需要調查原因。罪魁禍首通常是數據庫加載(沒有索引,未優化的查詢)。

Linode也可能有限制,以限制在特定時間段內可以使用多少帶寬。你應該聯繫他們(或負責的人)。

+0

我明顯停止刮腳本,一旦停止工作。我無法調查發生了什麼,因爲我(和其他人)無法訪問它。所以我的手指越過,這是帶寬問題,它會自行修復。 – numegil

+0

DDOS通常是在數據庫層引起的,向下翻到應用程序。如果您的數據庫和應用程序響應速度足夠快,則DDOS只能使連接飽和,但單個家庭DSL /線纜絕不會飽和數據中心。 –

相關問題