我有一个媒体存储服务器,有超过 20GB 的可用 RAM。服务器存储 FLV 文件。我使用 NGINX 和 HttpFlvStreamModule 进行流式传输。它的效果很糟糕。
我想利用空闲内存来存储最受欢迎的电影。这将给硬盘腾出一点空间。我尝试使用 proxy_cache 并将目录挂载到 RAM。代理缓存工作正常,但 flv 模块停止工作,我无法倒回电影(搜索)。我尝试了几种 nginx 配置,但没有一种能像我想要的那样工作。
我也尝试过使用 proxy_store,但它的缓存选项很差。proxy_cache_min_uses
选项对于选择最受欢迎的文件非常重要。
有人遇到过类似的问题吗?
答案1
除非我误解了你的设置,否则你应该不是使用 proxy_cache 来加快速度,因为 nginx 与媒体文件位于同一台机器上。只需让操作系统使用额外的 RAM 作为文件系统缓存(如有必要,监视并调整该行为) - 这将比 proxy_cache 更快地加快速度,因为所有内容都位于同一台机器上。
Nginx 的 proxy_cache(或 Varnish、Squid 或任何其他 HTTP 缓存)仅当你想缓存的内容位于不同的机器,或者正在动态生成。
答案2
我在 Nginx 列表上看到了关于这个问题的讨论。显然没有什么解决办法。有人建议使用这个模块作为的替代品flv
,但没有关于它是否有效的报告。