最近看到csdn上,还有网友问为什么不更新了,看来这个多核优化还是很有用的,有时候写代码比写文章更麻烦,事情多就给忘了,而且是多以前的代码,要重新看一遍,还是找个时间提交到git吧,搬地方:
相信来到这里的读者,都是对SRS有一定的认识的同道中人,那应该都清楚SRS采用了单线程多协程模型,所以它在效率上比NGINX的RTMP模块(采用多进程模型,具体我也没读过)要高。
但是,想必SRS的单线程只能使用单核,而目前服务器大都是多核,直接使用SRS源码编译的版本,利用不上多核,简直是暴殄天物,虽然有一些其他解决手段:
比如开多个SRS进程,然后每个进程监听不同端口,但是这样返回给前端需要不同的端口,总感觉非主流;
亦或者在SRS初始化阶段,在listen 1935端口后,fork出多个进程做accept,但是这样存在客户端观看时,可能连接的进程非推流端所在进程的问题。
基于上述弊端,作者做了将SRS进行多核扩展的优化,具体优化方法在下一章详述,后续章节计划:
1、st协程库优化思考;
2、srs调用st库优化方法;
3、github优化后源码分享。
作者:hijiang1
来源:CSDN
原文:https://blog.csdn.net/jbl5501328/article/details/81107025
版权声明:本文为博主原创文章,转载请附上博文链接!