天天看點

EasyDSS錄像回看封面快照過多導緻CPU占用高的優化方案

EasyDSS是TSINGSEE青犀視訊雲邊端架構中支援RTMP協定前端裝置的視訊直播點播平台,除了網頁直播和點播外,也支援視訊錄像,錄像一般根據錄像計劃設定即可。

EasyDSS錄像回看封面快照過多導緻CPU占用高的優化方案

EasyDSS 錄像回看頁面中,會實時生成所有錄像的封面快照,該功能在錄像非常多的情況下,會生成大量的快照,導緻伺服器cpu達到 100%,最終系統背景崩潰,無法運作。

EasyDSS錄像回看封面快照過多導緻CPU占用高的優化方案

是以我們需要對該代碼進行優化調整,以前的代碼邏輯是接收前端請求,則進行截圖操作,這樣背景會開啟 n 個截圖程序,導緻 cpu 飙高,是以優化在隊列中進行切圖操作。

首先在初始化快照子產品的時候,建立一個 gSnapChan 通道,當通道中有新的切圖資訊後,則進行切圖操作。參考代碼如下:

添加到隊列中的代碼如下:

以上代碼以前并未添加 time.Sleep(1 * time.Second),實際使用過程中發現,仍然會導緻 cpu 突然飙高。在大量資料運作的時候,确實出現飙高的操作,是以添加适當的沉睡時間,解決突然飙高一段時間的問題。

EasyDSS視訊直播/點播服務平台誕生至今,我們做了不少版本的功能更新和更新,除EasyDSS外,TSINGSEE青犀視訊全線産品均有示範平台供參考,使用者可以進入示範平台閱覽界面,也有測試版本供大家下載下傳測試,若大家有興趣可以聯系我們進行測試。

EasyDSS錄像回看封面快照過多導緻CPU占用高的優化方案

繼續閱讀