2012-02-22 8 views
1

私はユーザーが高解像度の画像をアップロードできるWebアプリケーションを構築しています(10mbの球場内)。アップロードされた後、アップロードの中程度のサムネイルサイズのイメージが作成されます。それは、メディアイメージのサイズを変更するためにPHPに割り当てられたメモリのうち、100MB以上を占めるようです。私はこのタイプのスケーラビリティで多くの経験がありませんが、サイトは簡単にクラッシュしますか?サイズ変更の負荷を処理するために16GBのメモリを搭載したWebサーバーが必要ですか?代わりはありますか?どんな情報でも大歓迎です!多くのユーザーが大量の写真をたくさんアップロードすることをお勧めしますか?

ありがとうございました!

答えて

0

  • が使用オフピークの時間帯に処理を行う軽量ライブラリサイズを変更すると確実にベンチマーク任意の時点でx個の画像しかサイズ変更されていないことを示します。 xは、使用可能なメモリの量によって異なります。

    イメージをアップロードするとすぐにリアルタイムでイメージのサイズを変更すると、メモリよりも多くのイメージのサイズが変更されてクラッシュする可能性があります。

    代わりに、画像がアップロードされると、それらをDBに追加します。次に、DBからxイメージをフェッチするPHPスクリプトを用意し、これらのイメージのそれぞれについて新しいプロセスを作成して、それらをリズイズします。プロセスが親に対して完了を報告するとき、親プロセスはキューからイメージのエントリを削除し、別のプロセスをフェッチします。洗浄、リンス、繰り返し。

  • 0
    • 実行が
    • がバックグラウンドで処理を行いますが、画像のキューを作成することができ
    +0

    軽量ライブラリとは何ですか?現在、私はGDを使用しています。なぜなら、私のホスティングプロバイダは – ehftwelve

    +0

    です。申し訳ありませんが、私が知っていることを示唆するものではありませんでした。私はPHPを使ってGDを実行するとバッチ処理 – miki

    関連する問題