2

ユーザーがアップロードした画像を受け入れ、さまざまなサイズのサムネイルの生成、元の画像のチェックサム、重複のチェックなど、バックグラウンドで処理を行う必要があります。その後、ユーザーは自分の送信を確認できるようになります。

問題は、処理が完了する前にhttp応答が送信される可能性があることです。それでは、ユーザーに何を伝えればよいでしょうか。

私は4つのオプションを考えることができます:

  • サムネイルには、「処理中」などの記号と説明を付けて、ダムのプレースホルダーを配置します。ユーザーは、システムをすでに信頼していて、システムが機能することを知っている場合を除いて、画像が表示されるまでf5キーを押す必要があります。
  • スマートプレースホルダーを配置します。これは、JavaScriptアニメーションに加えて、準備ができたときにサムネイルをフェッチする繰り返しのajax呼び出しのようなものです。これはユーザーエクスペリエンスには最適ですが、サーバーにオーバーヘッドが発生する可能性があります。
  • オーバーロードを回避するために非同期で処理を実行しますが、処理が終了するまで要求をブロックします。これは、製品を迅速に配信するための良い選択のように見えます。サーバーが同時に多くのアップロードを取得し始めた場合は、後で繰り返します。
  • Webソケット?

他に選択肢はありますか?どちらがあなたに似合いますか?私が見ない長所/短所はありますか?

4

1 に答える 1

4

「javascript アニメーションのようなスマートなプレースホルダーと、準備ができたときにサムネイルを取得する ajax 呼び出しの繰り返しを配置し​​ます。これはユーザー エクスペリエンスには最適ですが、サーバーでオーバーヘッドが発生する可能性があります。」

その後、分析に基づいてこれをさらに絞り込むことができます。時間の経過とともに、画像サイズ、サーバー負荷などの要因に基づいて、各画像の変換にかかる時間がわかります。この知識を組み込んで、結果をポーリングする JS スクリプトを最適化できます。

データ ポイントとプロファイリングなしで最適化しようとしないでください。

于 2012-09-10T06:35:00.450 に答える