これをするための方法として、
FTPでファイルを移動させるのと、元サーバから別サーバのプログラムを呼び出して、別サーバ上でファイルを生成するのはどちらが負荷などの面でいいのでしょうか?
トランザクションのことを考えると後者かと思いますがどうでしょうか?
ちなみに、後者の場合、別のサーバのphpを元のサーバのphp内から呼んだりできるものなのでしょうか?
別サーバーに生成するのが「ファイル」で有るなら大差ないように思います。
ただ、データ量が多く生成に時間がかかるようなら一旦元サーバー内でファイル化してしまい、FTP 等で転送する方がトランザクションの実行時間を少なく出来、好ましいです。
また、php から別の php を呼び出す事は可能ですが、HTTP 経由になりますので、あまりデータ量が多かったり時間のかかる処理だと容量オーバーやタイムアウトの可能性が出てきます。
一回のやり取りで行われるデータ量がどの程度かにも寄りますね。
FTPの場合、元サーバでファイル作成→FTP→別サーバでファイル上書き→元サーバのファイル削除という流れになるのでしょうか?
この流れが結構重めなのかなと思っていました。
イメージとしてはそんな感じだと思います。
たしかに、全体の処理は多くなりますね。
でも、実際に問題となるのはDBのトランザクション負荷ぐらいでしょう。
ファイルへの書き出しが完了した時点でDBは開放されるので、後の処理はどれだけ時間がかかろうがそうたいした問題にはならないことが多い。
大抵のDBでローカルへの直接書き出しコマンドが用意されているのもポイントです。バッファを経由しない事でアプリケーション越しにアクセスするより圧倒的に高速な事もあるので。
自分なら元サーバーのDBをどれだけ早く開放してやるかに重点を置きます。
もちろんその他の条件があるなら変わってくるかもしれませんが。
なるほど。dbの開放メインで考えるといいんですね。とても参考になります。ありがとうございました。
データ量は大きくても3kくらいのものです。
FTPの場合、元サーバでファイル作成→FTP→別サーバでファイル上書き→元サーバのファイル削除という流れになるのでしょうか?
この流れが結構重めなのかなと思っていました。