web-dev-qa-db-ja.com

proxy_cacheを使用してFLVストリーミング用にNGINXを構成するにはどうすればよいですか?

20GBを超える空きRAMを備えたメディアストレージサーバーがあります。サーバーはFLVファイルを保存します。ストリーミングにHttpFlvStreamModuleでNGINXを使用しています。それは害のように機能します。
最も人気のある映画を保存するために空きメモリを利用しようと思いました。これはハードドライブに息を吹き込みます。 RAMにマウントされたディレクトリでproxy_cacheを使おうとしました。プロキシキャッシュは正常に機能しましたが、flvモジュールが機能を停止し、ムービーを巻き戻すことができませんでした(シーク)。私はいくつかのnginx構成を試しましたが、どれも私が望むようには機能しません。

また、proxy_storeを使おうとしましたが、キャッシュオプションがかなり貧弱です。
proxy_cache_min_usesオプションは、最も人気のあるファイルを選択するために非常に重要です。

誰かが同様の問題を抱えていましたか?

2
Vladimir

私があなたの設定を誤解していない限り、nginxはメディアファイルと同じボックスにあるので、not proxy_cacheを使用して処理を高速化する必要があります。オペレーティングシステムに追加のRAMをファイルシステムキャッシュとして使用させます(必要に応じてその動作を監視および調整します)。これにより、すべてが同じボックスにあるため、proxy_cacheよりもはるかに高速になります。

Nginxのproxy_cache(またはVarnish、Squid、またはその他のHTTPキャッシュ)は、キャッシュするコンテンツがdifferentマシン上にあるか、動的に生成されている場合にのみ役立ちます。

2
rmalayter

Nginxリストでそれについての議論を見ました。どうやら解決策はあまりありません。誰かがflvの代わりに このモジュール を使用することを提案しましたが、それが機能しているかどうかについての報告はありません。

0
coredump