Her dakika birkaç sunucuya yüzlerce dosya gönderiyoruz. : java veya kabuk betiği?
Şu anda sadece sunucusu komutları içerir (Java ile dosyaları gibi) kabuk komut üretilmesi ve kabuk komut olarak yürütme. Java kullanmamızın nedeni, dosyaları hedef yol ve hedef sunucuya göre organize etmektir. Sonunda, her hedef sunucu için bir kabuk betiğine sahip olacağız. Şimdi ben senaryoyu üreten ve Şu anda 4 sunucular için komut dosyaları oluşturmak için 4 ila 5 saniye sürer oyürütme yerine java kodu kendisi yoluyla dosya gönderirseniz daha verimli ve hızlı olacak düşünüyorum. Böylece gerçek sftp'nin yürütülmesi 5. saniyede başlar ve çok hızlı bir şekilde bitirilir (dosya sayısına göre). JSch gibi java sftp'ye geçersem, kabuk betiğinde sftp ile aynı hızlı mı yoksa daha yavaş mı olacak?
Bir Java uygulamasının kabuk uygulamasından daha hızlı olabileceği pek çok yol var. Ama aslında her ikisinin de uygulanmasına bağlı olsun ya da olmasın, bu gerçekten yığın akış için makul bir kapsamı ile yanıtlanabilir bir soru değildir. Benim önerim, sürecin mevcut yavaşlığının ne kadarının bir problem olduğunu araştırmak, bir Java uygulamasının ne kadar zaman alacağını araştırmak, ve eğer olası kazançların çabaya değeceğini düşünüyorsanız, sadece bunu yapıp nasıl yapıldığını görmek Bir fark yaratır. – Cubic
Komut dosyaları oluşturmak neden 4-5 saniye sürer? Bu verimsizlikleri aramak için iyi bir yer gibi görünüyor. Bir komut dosyası oluşturabilir ve bir sonraki oluşturmadan önce çalıştırabilir misiniz? – chicks