SRS流媒体服务器多核优化方法(1)

相信来到这里的读者,都是对SRS有一定的认识的同道中人,那应该都清楚SRS采用了单线程多协程模型,所以它在效率上比NGINX的RTMP模块(采用多进程模型,具体我也没读过)要高。

但是,想必SRS的单线程只能使用单核,而目前服务器大都是多核,直接使用SRS源码编译的版本,利用不上多核,简直是暴殄天物,虽然有一些其他解决手段:

  1. 比如开多个SRS进程,然后每个进程监听不同端口,但是这样返回给前端需要不同的端口,总感觉非主流;
  2. 亦或者在SRS初始化阶段,在listen 1935端口后,fork出多个进程做accept,但是这样存在客户端观看时,可能连接的进程非推流端所在进程的问题。

基于上述弊端,作者做了将SRS进行多核扩展的优化,具体优化方法在下一章详述,后续章节计划:

1、st协程库优化思考;

2、srs调用st库优化方法;

3、github优化后源码分享。

你可能感兴趣的:(音视频开发,服务器编程)