作者
劉兆瑞,騰訊雲高階研發工程師,負責騰訊明眸極速高清,畫質重生等產品。專注於codec優化,畫質增強等技術。
背景和問題
隨著流量資費的降低和頻寬的增加,視訊成為人們獲取資訊越來越重要的方式,隨之而來的是雲點播、視訊處理等視訊相關業務的飛速發展,而視訊轉碼平臺作為雲點播、視訊處理的基礎產品,面臨著高併發、高 SLA、高壓縮率等等多樣的需求,面臨著極大的挑戰。
對於一般流程來說,我們面臨著下面幾個挑戰和訴求:
- 不同的轉碼產品對核心數的需求不同,比如:極速高清、延時敏感的業務,需要大核心來保證複雜運算的穩定性,普通轉碼則可以用小核心來替代。分散式轉碼中的合併和切片服務則對 IO 效能,硬碟大小比較關注。
- 轉碼業務對 avx 指令集的利用率很高,因此通用 CPU 算力往往並不會成為瓶頸,avx 指令集的計算頻率則成為轉碼業務的關注重點。而叢集內 CPU 型號往往是多樣的,因此合理的選擇 CPU 型號對於轉碼業務非常重要,TKE 擴充套件 pod 時候需要能夠選擇 CPU 型號。
- 短期、高併發需求多:客戶會用我們的能力實現不同的玩法,比如:客戶需要對其全站的視訊進行極速高清壓縮或者畫質增強,這裡短期內需要能夠獲取到巨大的資源,並在使用過後能夠快速退回節省成本。
- 模型、服務迭代快:雲服務廠商間的競爭非常激烈,經常會有客戶提出新的需求,pod 能夠支援快速、無損的更新迭代版本。
容器化 & 全量上雲記錄
容器化
這裡的容器化過程,主要包括對業務的服務流程梳理,整體的釋出流程規範化:
業務不同效能機型申請
遷移 TKE 之前,物理機的型號往往是固定的,固定 CPU 核數、記憶體、硬碟容量的搭配,而這些對於指定業務來說往往會造成資源的浪費,無法充分利用所有的資源。比如:轉碼業務關心 CPU 效能,對於記憶體的利用則很低,而物理機 48C 的機型往往搭配 64G 記憶體,造成一定程度的記憶體浪費。
遷移 TKE 之後,根據不同的業務模型場景,可以精確的分配業務所需要的 CPU、記憶體、硬碟資源,充分利用起每一項資源。
CPU 型號限制
轉碼業務對 avx 指令集的利用率很高,而很多型號的 CPU 雖然通用計算頻率高,但是指令集被限頻了,這種型號的 CPU 雖然核數多,但是編碼效率很低。因此業務進行 pod 擴充套件時,希望能夠規避剔除掉某些型號的 CPU。
為了解決這一問題,TKE 支援了 CPU 親和性配置,配置如下:
快速擴縮容
轉碼業務雖然是離線業務,但是重點客戶對 SLA 還是有很高的要求。需要能更快速擴縮容,滿足客戶動態需求。
面對這種突發的請求,TKE 可以通過動態的擴縮容滿足需求,同時業務流量突發結束後,也可以快速縮容來降低使用成本。
當然,動態擴縮容也會帶來額外的挑戰。對於轉碼業務來說,很多工都是長時任務,不能中斷的。比如:個100+小時的視訊轉碼,已經轉了50小時+,不能因為擴縮容而中斷任務,重新轉碼。針對這種場景,TKE 也給出了很好的解決方案,可以通過刪除保護完美支援這一訴求。
業務快速更新上線
雲端轉碼服務多個雲上基礎產品,大量公司內外客戶,需求和釋出節奏都很快,每週都會有新的版本升級變更。因此能夠支援快速釋出,是業務的強訴求。同時,釋出不能中斷業務正在處理的任務,針對這一情況,TKE支援了原地升級選項,升級 POD 業務程式碼,不需要銷燬重建 runtime 執行中容器,支援服務執行中實現熱更新。
lxcfs & 固定 IP 助力任務精準排程
轉碼的業務與通用的業務請求不同,在開始轉碼前是無法預知當前轉碼請求的資源消耗量的。比如:遊戲直播視訊和課堂教育視訊,資源的消耗量會相差一個量級。因此轉碼任務的排程是依賴轉碼機主動上報當前任務數和每個任務的負載情況,由排程根據當前的實際負載情況來分發新的任務請求。
然而,通用的 pod 內進行 ps 等操作獲取的是母機的負載資訊,而不是當前 pod 的實際負載資訊,這樣會導致排程失衡。為了解決這一問題,TKE 支援 lxcfs 配置,通過 lxcfs 可以精準獲取當前 pod 的實際負載資訊。
面對上面的場景,另一個問題是如果每次 POD 重建過程都會重新申請 IP,那無疑會對排程的 IP 管理造成額外的負擔。針對這種情況,TKE 也支援了固定 IP,IP 保留等能力。
上線成果
視訊雲離線轉碼服務,CPU 平均利用率50%+。峰值利用率80%+. 同時,動態的擴縮容和快速上線的支援,都有效的為業務需求和流量突發保障護航。
關於我們
更多關於雲原生的案例和知識,可關注同名【騰訊雲原生】公眾號~
福利:
①公眾號後臺回覆【手冊】,可獲得《騰訊雲原生路線圖手冊》&《騰訊雲原生最佳實踐》~
②公眾號後臺回覆【系列】,可獲得《15個系列100+篇超實用雲原生原創乾貨合集》,包含Kubernetes 降本增效、K8s 效能優化實踐、最佳實踐等系列。
【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公眾號,及時獲取更多幹貨!!