SRS流媒體服務器多核優化方法(1)

相信來到這裏的讀者,都是對SRS有一定的認識的同道中人,那應該都清楚SRS採用了單線程多協程模型,所以它在效率上比NGINX的RTMP模塊(採用多進程模型,具體我也沒讀過)要高。

但是,想必SRS的單線程只能使用單核,而目前服務器大都是多核,直接使用SRS源碼編譯的版本,利用不上多核,簡直是暴殄天物,雖然有一些其他解決手段:

  1. 比如開多個SRS進程,然後每個進程監聽不同端口,但是這樣返回給前端需要不同的端口,總感覺非主流;
  2. 亦或者在SRS初始化階段,在listen 1935端口後,fork出多個進程做accept,但是這樣存在客戶端觀看時,可能連接的進程非推流端所在進程的問題。

基於上述弊端,作者做了將SRS進行多核擴展的優化,具體優化方法在下一章詳述,後續章節計劃:

1、st協程庫優化思考;

2、srs調用st庫優化方法;

3、github優化後源碼分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章