Hier kann man nur raten.
FTP ist meist nicht die Ursache.
Mach einfach mal Timestamps vor und nach dem FTP um die tatsächliche Dauer des FTP festzustellen.
Ich vermute da einfach, dass dein Job irgendwelche Arbeiten durchführt, die ggf. unnötig sind.
Ist ggf. SQL im Spiel, so dass hier Optimierungen durchgeführt werden sollten ?
Gibt's komplizierte Suchfunktionen, die bei ansteigendem Volumen einfach länger dauern ?

Hierzu bedarf es eines Profiling in dem per Timestamps die Dauer einzelner Aktionen aufgezeichnet wird.

Übrigens:
FTP erzeugt eine Ausgabe auf STDOUT.
Leitest du die ggf. in einen Spool um ?
Dann ist hier die Anzahl Spools ggf. entscheidend.
Du kannst STDOUT auch in eine Datei (PF) umleiten, so dass keine Spools erstellt werden. Vielleicht hilft das ja schon.