- 締切済み
サーバーに負荷の掛けないファイルアップロード方法
ファイルをアップロードを行う際に負荷のかからない方法を調べています。 AとBの二種類のサーバーがあり、AサーバーにあるWebサイトから、最終的にBサーバーにファイルアップロードします。 Bサーバーへのアップロードをどうするかを検討しています。 Bサーバーでは、ユーザーがアップロードしたファイルを利用し、Aサーバーに加工したデータを返しています。 そこで、ユーザーがローカルにもっているファイルをアップロードする方法をAサーバーに負担が出来る限りかからないようにするにはどうすればよいか考えています。 ブラウザからアップロードするのはファイルサイズが大きくなると、PHPの設定を超えたり、サーバーへの負荷が大きくなってしまいます。 ⇒サイズが大きくなると時間がかかるのと、運用でどれほどのサイズがアップロードされるか想定ができない状態 Bサーバーに直接FTPでファイルをアップロードする ⇒ユーザーは限られたメンバーなので、権限を与えることは可能ですが、ユーザーの変更時に都度対応する必要があるのがネック 最終的にはFTPでアップロードをしてもらう方法になりますが、ブラウザから負担をかけずにアップロードする方法はないでしょうか? AサーバーにおいているWebページからBサーバーに直接アップロードをできるのが理想ですが、ブラウザからだとAサーバーにどうしてもファイルが一時的に保存されてしまうのではと思っています。 よろしくお願いいたします。 言語 PHP 5.2~ OS Ubuntu
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- SherlockHolmes2
- ベストアンサー率40% (175/429)
どのような用途で使用されているのか不明ですので、参考にならないかも知れませんが…。 Apacheを利用されていれば、ロードバランス(負荷分散)の機能がありますので、サーバーを複数台用意し、そういった機能を利用するのも手だと思います。 参考url : http://www.atmarkit.co.jp/flinux/special/apache22/apache03.html もしくは、メモリを多く積んで、RAMディスクを使うとか。 参考url : https://forums.ubuntulinux.jp/viewtopic.php?id=2196
- yambejp
- ベストアンサー率51% (3827/7415)
>ブラウザからアップロードするのはファイルサイズが大きくなると、PHPの設定を超えたり、サーバーへの負荷が大きくなってしまいます。 これはむしろセキュリティ的にも必須の条件では? 無条件のサイズでファイルがアップされるということは爆弾を投下される可能性が あるということです、POSTやアップロードサイズに上限を設けることは 運用上必要な要件です。 サーバーへの負荷と言う意味ではhttpのアップロードにおけるオーバーヘッドが 想定されますが、こればっかりは仕方ないような気がします。 Aへのアップロードが完了した時点でBへのftpでのコピー(移動)を行えば、 Aではテンポラリが一次的に残るだけなのでさほど大きな負担にはなりません。 むしろAからBへ無条件にコピーされるということはセキュリティ的にどうかと思いますが?
お礼
解答有難うございます。 設定は行うのですが、上限値を大きくすると、同時に処理を行った場合の負担が大きくなるため、他に方法はないのかと検討しておりました。 ブラウザからアップロードする以上仕方のないことなんですよね。 >Aではテンポラリが一次的に残るだけなのでさほど大きな負担にはなりません。 ここでの負担というのはディスク容量でしょうか? アップロード中のメモリ消費量に対して負担を軽減できればと考えております。 セキュリティでの考慮も必要ですよね。有難うございます。