0

従来のASP(タップを停止)を使用して、厳密なサムネイルを含む高解像度の写真をあるサーバーから別のサーバーに転送するアプリケーションを作成する必要があります。アプリケーションはWindowsのスケジュールで呼び出され、バックグラウンドプロセスとして実行されます。古い専用サーバーから新しいサーバーにファイルを転送する

これを達成する最良の方法は何ですか?パフォーマンスを心がけてください。このようなモンスタースクリプトを作成した最後の段階では、データベーステーブルを100万行以上転送して変換していましたが、アプリケーションは非常に速く開始しましたが、25,000レコード後には本当に遅くなりました。だから私はこれを避けたい。

明らかに、それはクロスドメイン転送になるので、私はASP/FTPコンポーネントを使用し、1つずつファイルを取得して送信し、成功をDBテーブルに記録することを考えていましたこれまでに何が行われているかを知っています。

一度に1つのファイルを処理してリフレッシュして、サーバーのリソースを乱用しないようにするか、一度に1000個以上処理する必要がありますか?サーバーを詰まらせることなく、できるだけ速くしたいと思っています。

感謝の気持ちで助けや助言があります。

+0

DBクエリーが遅くなるのは、適切なインデックスがないため、DBが完全なテーブルスキャンを実行するためです(テーブルにデータが多くなるほどパフォーマンスが低下します)。 –

答えて

1

私は一度に1つのファイルを行うことをお勧めします。これは、接続が短時間停止した場合、既に送信したファイルを失わないためです。

ASP Classicを使用している場合でも、.netを使用して.netのFTPクライアントクラスを使用してファイルをアップロードし、サードパーティコンポーネントの購入/インストールを避けることができます。確かに.netはすでにサーバーにインストールされています。

私のプロセスは次のようになります。成功したコールのリモートDB

  • でアクションを記録ASPページは秒を待っている場合

    1. FTPを使用してアップロード1ファイル(より良い性能)
    2. とエラーがプロセスがサーバを詰まらされている場合は
    3. は、次のファイル

    に進んでアップロードする場合は3回まで再試行し、各アップロードの間に短い休止を置くことができます。

  • 0
    • アップロードFTP
    • を介したすべてのファイルが1でDBにそれを引き出し
    • すべてのデータをCSVファイルを作成します36万個々の取引上

    にネットワーク握手の量を行くだろうボトルネックになる。

    +0

    経由でFTP、デスクトップFTPクライアントを意味しますか?もしそうなら、私はこれが私たちのための選択肢ではないことに気づいたはずです。接続速度が遅すぎる(ブロードバンド1.4メガバイト) – TheCarver

    +0

    ファイルを物理的にサーバーに持ち込まない限り、どのようなオプションがありますか?一度に1つははるかに遅くなります。 –

    1

    私はClassic ASPで動作するようなものを持っていますが、問題なく何千もの画像を扱います。各画像

    1. ため
    2. サムネイルと第二の中規模イメージコピーを作成し、メタデータを含むテキスト・ファイルを作成することを画像私は(VBS)を実行するスクリプトを収容するサーバで (ウェブ)サーバー

    ファイルがWebサーバ上に存在していると、そうでない場合は場合、スクリプトが継続し、フォルダやファイルごとにのみチェックを実行しますが、それらを作成し、DBの必要はありません。 すべてのチェックの間に1秒間眠ります。サーバー上の負荷はわずか2%です。私はiPhotoをコマンドラインモードで使用してメタデータと画像を抽出しますが、ライブラリを使用することができます。 したがって、これらの3つのファイルは、最初のサーバーからのマップ構造のコピーでWebサーバーに保存されますが、フルサイズのイメージはありません。

    ウェブサーバーでは、サムネイルをブラウズして、メタデータと中間サイズの画像を視覚化するだけで済みます。 フルサイズのイメージが必要な場合は、最初のサーバーのファイルをURLとして持つ中間サイズのファイルをクリックします。

    関連する問題