2017-06-01 10 views
1

我在ELB和Auto Scaling組後面有兩個EC2實例。按比例放大的政策是如下:如何處理自動縮放期間網絡流量突然激增

CPU利用率> = 70 300秒(將一個服務器)

雖然Atoscaling活動是正在發生,負載上存在的實例是已經爲99%和連接正在被丟棄。

有沒有辦法更有效地處理這個問題?

+0

我不認爲你可以在配置層面做任何事情,可能你可能會降低300秒,但那不會解決問題。看看你是否可以對實例做任何事情來快速提升它們。 – kosa

回答

2

Auto Scaling的訣竅在於定義可準確識別系統負載的警報。

CPU利用率並不總是正確的使用方法 - 您的應用程序可能只能處理有限數量的連接,它可能會擠在RAM上,請求類型可能也會有所不同。

一個好主意是密切監測系統在峯值負載,以確定準確的信號識別繁忙時段(或者,甚至更好,有助於預測即將到來的繁忙時段)。使用您的個人情況的標準的監測工具,如監測空閒內存,應用程序的用戶數,交易次數等

您可以正常使用監控工具,或者你可以寫的東西,推動指標到Amazon CloudWatch的 ,因此您超越了CloudWatch通常提供的基本CPU和網絡指標。您甚至可以使用負載平衡器的延遲度量標準在應用程序變慢(需要自定義代碼)時觸發縮放。

一旦您有可靠的信號來檢測系統何時接近容量並需要向外擴展,您就可以專心於縮短增加新容量的時間。測量新實例啓動並開始接受流量所需的時間。嘗試通過使用完全配置的AMI來減少啓動時間,而不是通過用戶數據安裝軟件。也許你可以刪除或關閉實例上的服務,以使其啓動速度更快。嘗試使用不同的EBS卷類型(例如,通用型固態盤可以突發高達3000 IOP)和不同的實例類型。

也許甚至向前擴展(例如在50%) - 額外的費用可能比爲您的用戶改進的服務較小。

您的目標應該是確保用戶永遠不會有緩慢的服務或丟失的連接。

+0

謝謝你的幫助約翰!這很有幫助。 – Ishaan