2016-04-02 10 views
0

毎分数百のファイルを数台のサーバーに送信しています。これはsftpの方が効率的です:javaまたはshellスクリプトですか?

現在のところ、sftpコマンドのみを含みシェルスクリプトとして実行するシェルスクリプト(java経由のファイル)を生成しています。私たちがjavaを使用しているのは、ターゲットパスとターゲットサーバに基づいてファイルを整理するためです。最後に、ターゲットサーバごとに1つのシェルスクリプトを作成します。

今、私の代わりにスクリプトを生成し、それを

を実行するので、私はJavaのコード自体を経由してファイルを送信する場合、それはより効率的かつ高速になります考えています現在は4台のサーバー用のスクリプトを生成するために4〜5秒かかります。実際のsftpの実行は5秒目に開始され、非常に高速に終了します(ファイル数に基づいて)。 JSchのようなjava sftpに切り替えると、それはシェルスクリプトのsftpと同じかそれとも遅いでしょうか?

+1

Java実装がシェル実装よりも高速になる方法はたくさんあります。しかし、それが実際に行われるかどうかは、両方の実装に依存します。したがって、これは本当にstackoverflowの合理的な範囲で答えるべき問題ではありません。私の提案は、プロセスの現在の遅さが問題のどれくらいであるかを調査し、Javaの実装がどれほどの時間を取るかを調査し、可能な利益が努力する価値があると考えるならば、それは多くの違いがあります。 – Cubic

+0

スクリプトの生成に4〜5秒かかるのはなぜですか?それは非効率性を探す良い場所のようです。あなたは次のスクリプトを生成する前にスクリプトを生成して実行できますか? – chicks

答えて

1

これは達成したいことによって異なります。その解決策のメンテナンスもまた要因である場合は、ftpコンポーネントhttps://github.com/apache/camel/tree/master/examples/camel-example-ftpでapache-camelを使用することをお勧めします。あなたにコントロールと柔軟性をもたらします。シェルスクリプトの生成はありません。そして、ほとんどの場合、必要に応じてアプリケーションを作成したり、既存のアプリケーションの一部にすることができます。

+0

sftpのサポートhttp://camel.apache.org/ftp2.html – gmaslowski

関連する問題