天天看點

營運的狂歡,運維的災難——如何快速應對流量狂刷高帶來的并發?

新聞媒體不會錯過每一個新聞熱點,從重大戰略決策公布到明星八卦新聞,從金融股市波動到醫療衛生安全,引爆性新聞熱點在帶來大規模流量吸引衆人眼球的同時,對于背後的IT情況也是一重艱巨的考驗。

多數高并發,流量狂刷的情況,一般都是一些新聞推送導緻,特别是一些突發性新聞。在此情況下會出現IIS連接配接數過高(5000)、内網流量過高(将近100Mbps)的高并發異常問題,如下圖所示:

營運的狂歡,運維的災難——如何快速應對流量狂刷高帶來的并發?

圖中所示的情況,多個 web 最大連接配接數出現5000,但是有 web 最大連接配接數為0。我們可以從哪些思路着手,快速解決問題呢?

出現如上情況,我們可以從以下幾個方面着手,快速應對高并發情況:

1、slb轉發問題确定

由于在高并發下,轉發到某兩台web上的IIS連接配接數相比其他web的iis連接配接數不一緻。是以我們初步懷疑,在面對高并發的情況下,SLB的轉發不均勻。

通過從阿裡雲那邊抓取SLB的HTTP請求的個數,分析資料,初步結果是RT變長,比如原來的請求,200ms完成,突然變成3000ms,是以導緻某段時間的http轉發數變低。

2、rds性能名額分析

遇到類似高并發問題,需要實時記錄rds的性能名額,友善運維人員确定問題究竟出在web端,還是資料庫端。

3、web端解決方法

此時通過批量增加web機器來進一步跟蹤此問題。現有的機器配置是4核/16G,由于在高并發情況下,web機器性能消耗不是特别明顯,是以在新開機器上,選擇批量開通4核8G的web機器。

通過以上思路的排查,針對SLB分發不均勻所帶來的高并發異常情況,通過增加 web 的方式進行解決,即可解決高并發問題。