下載/播放多媒體檔案時伺服器上會發生什麼?

下載/播放多媒體檔案時伺服器上會發生什麼?

我有一個基於視頻的網站。當大約 1k 並髮用戶觀看/下載影片時,速度會變慢。

我正在嘗試對其進行調試,以查看哪些資源不足以增加它。我執行htop命令查看資源使用情況,但當頁面加載太慢時,伺服器的 CPU 和 RAM 空閒率超過 50%(在這種情況下,一個簡單的網頁需要超過 40 秒才能加載)

這就是為什麼我認為這可能是頻寬問題。現在我想知道的是當客戶端串流/下載視訊檔案時會發生什麼?

請注意,我將所有內容都放在同一台伺服器上(後端/前端/資料庫/視訊檔案)

答案1

你的邏輯已經不行了。

如果 CPU 和 RAM 仍然良好,則可能存在兩個限制問題。

  • 頻寬
  • IO

從伺服器端檢查兩者都是微不足道的。做吧。

現在我想知道的是當客戶端串流/下載視訊檔案時會發生什麼?

取決於您所說的串流媒體的含義,但本質上它從來源獲取資料並將其轉發到目標。這本質上是一個 CPU 非問題,不使用大量 CPU 來啟動。除非您有足夠的存儲空間用於配置緩存(在 RAM 中)並因此被使用 - 數據來自存儲,無論您擁有什麼。一般來說,人們對這個領域一無所知並且不關心——而且往往是瓶頸。

在這種情況下,一個簡單的網頁需要 40 秒以上才能加載

這表示您達到了 BRUTAL 網路限製或 IO 限制。考慮到您根本不喜歡談論 IO,我敢打賭您的 IO 超載到了滑稽的程度。除非您運行SSD 儲存(通常採用RAID 配置),否則對於高頻寬網路而言,您的IO 預算低得可笑——足以用一個流使其飽和,而當您的HDD 磁頭必須移動時,在很大程度上完全不夠。

相關內容