Apache2.2.12をPHP 5.2.10。PHPは、fcgidを介して別個のプロセスとして実行するように構成されています。問題は、ユーザーがアップロードするときにファイルの場合、Apacheプロセスのサイズはほぼ同じ量だけ膨らみます。したがって、誰かが200 MBのファイルをアップロードしようとすると、子プロセスの1つが現在のサイズ+200 MBに膨らみます。2人のユーザーが同時にアップロードを開始すると、サーバーがクラッシュします。
現在、増加しているのは仮想メモリサイズですが、私はOpenVZベースのVPSを使用しているので、それが重要です。
私の質問は次のとおりです。
ありがとう!
アバヤ
-
興味深い問題であり、phpの制限のようです。以下を参照してください。
どちらも最終的には「Use Java orPerl」など」と言っているようです。おそらくstackoverflowの誰かが答えを持っています。これほど大きなアップロードの場合、ユーザーの方法によってはsftpの方が適している可能性があります。フレンドリーである必要があります。
Php以外を使用する場合は、ファイルをチャンクに分割し、各チャンクをディスクにフラッシュできるため、 JUpload は適切なオプションのように見えます。それがphpでなければならない場合、 このstackoverflow post に従って、いくつかのソケットプログラミングでカスタムのものをロールアウトできる可能性があるようです。
このサイズでは、とにかく再開機能と進行機能を備えたものが必要になるでしょう。