Updated ZLMediaKit高并发实现原理 (markdown)

夏楚
2019-03-25 22:15:56 +08:00
parent 988e1336f2
commit 23a07601ab

@@ -480,7 +480,7 @@ ZLMediaKit在针对该应用场景时做了特别的优化实现原理如
目前对ZLMediaKit做了一些性能测试查看地址[benchmark](https://github.com/xiongziliang/ZLMediaKit/blob/master/benchmark.md)
在测试时发现ZLMediaKit在负载比较低时,其单线程性能大概是SRS的50%单条线程大概能支撑5K个播放器导致这个性能差距的主要原因时由于采用本地轮回网络网络状况为理想那么sendmsg批量发送将不起优化左右而SRS使用了合并写特性(就是缓存300毫秒左右的数据后一次性发送),可以减少系统调用次数;如果负载比较以及真实网络环境下ZLMediaKit单线程性能应该跟SRS差距更小我们在测试报告中也能发现在客户端比较多时ZLMediaKit单线程线程性能有比较大的提升。
在测试时发现ZLMediaKit在负载比较低时,其单线程性能大概是SRS的50%单条线程大概能支撑5K个播放器导致这个性能差距的主要原因时由于采用本地轮回网络网络状况为理想那么sendmsg批量发送将不起优化左右而SRS使用了合并写特性(就是缓存300毫秒左右的数据后一次性发送),可以减少系统调用次数;如果负载比较以及真实网络环境下ZLMediaKit单线程性能应该跟SRS差距更小我们在测试报告中也能发现在客户端比较多时ZLMediaKit单线程线程性能有比较大的提升。
由于ZLMediaKit支持多线程可以充分利用多核CPU的性能在多核服务器上CPU已经不再是性能瓶颈为了减少直播延时目前不打算加入合并写特性。