Http live streaming G-Wan/Ngnix/Squid/Varnish作为HTTP实时流反向代理

Http live streaming G-Wan/Ngnix/Squid/Varnish作为HTTP实时流反向代理,http-live-streaming,http-caching,Http Live Streaming,Http Caching,我计划为HTTP Live Stream(Apple HLS)构建一个缓存反向代理 对于我的情况,我将每个段文件的大小配置为500-700KB。我读了很多关于流行Web服务器软件性能评估的文章。但他们都在测试小文件大小的缓存。那个么,有并没有人有过为大文件构建缓存服务器的经验(老实说,我认为700KB不是太大)?或者任何我错过的评论文章,你能提供给我吗 我想我可以从之前的评论文章中得到答案。但也许我会在下面列出我的问题 如果我增加总分段数,这会导致性能下降(因为搜索需要更长的时间)吗?这有多严重

我计划为HTTP Live Stream(Apple HLS)构建一个缓存反向代理 对于我的情况,我将每个段文件的大小配置为500-700KB。我读了很多关于流行Web服务器软件性能评估的文章。但他们都在测试小文件大小的缓存。那个么,有并没有人有过为大文件构建缓存服务器的经验(老实说,我认为700KB不是太大)?或者任何我错过的评论文章,你能提供给我吗

我想我可以从之前的评论文章中得到答案。但也许我会在下面列出我的问题

  • 如果我增加总分段数,这会导致性能下降(因为搜索需要更长的时间)吗?这有多严重
  • 如果我想最大化吞吐量(比如说1Gbps),我应该选择哪种服务器软件和CPU?(这与询问哪种服务器软件可以提供最高吞吐量相同)
  • 正如jeremy提醒我的那样,缓存时间确实会影响命中率和性能。对于缓存段,是否应将缓存时间设置为旋转时间?(exp.00-99)。ts@10s每个.ts文件都应该在上次更新后的990秒进行更改,所以轮换时间是990秒)或者有更好的建议吗
    谢谢。

    500-700KB的文件仍然非常小,我在NGinx和Varnish方面都取得了巨大的成功,可以完成这项任务

    您需要确保您的.ts文件有相当长的过期时间(您希望缓存命中这些文件)。并且您希望将.m3u8文件的过期时间设置为小于段长度的1/2


    如果您打算使用CDN,这一点尤其正确,因为CDN将遵守缓存控制头(通常),并且您将希望限制返回源的请求数量。

    感谢您的回答和指导。关于缓存时间,我想了很多。但就我而言,我不需要CDN,因为出于法律考虑,我想限制2个城市的广播。但是,由于缺乏资金,我希望最大化每个节点的吞吐量。因此,我想详细回顾一下我提到的web服务器软件,以及哪些配置会影响性能。例如,如果我增加总分段数,这会导致性能下降(因为搜索需要更长的时间)吗?这有多严重?有很多相关因素,其中一个重要因素是开始时间。在许多实现中,在开始播放之前,需要完全下载起始段。另一个要考虑的问题是你的生活落后了多远。苹果公司正式推荐10秒的视频片段,部分原因是CDN的复杂性。我成功地使用了2-10秒范围内的值,没有太多问题。