Matt: Daten via FTP, performantester Vorgang

Hallo,

per PHP schreibe und lese ich mit den FTP Funktionen von PHP ( ftp_connect(), ftp_login(), ftp_put(), ftp_delete() ) auf einen entfernen FTP-Server.

Mal davon abgesehen dass das LogFile des FTP-Servers riesig wird, habe ich eine Frage.
Auf dem Server (Windows 2003 Server), auf welchem PHP & Apache läuft, läuft das ganze momentan so ab wie oben beschrieben.

Wäre es hier performanter und besser wenn ich den FTP-Server auf dem Windows Server als "Netzlaufwerk verbinde" und in PHP dann per
$path = "X:/test/test.file"
zuzugreifen?

Was meint ihr zu den beiden Methoden? Gibt es überhaupt einen derartigen Unterschied?

Best regards,
Matt

  1. Hallo,

    Wäre es hier performanter und besser wenn ich den FTP-Server auf dem Windows Server als "Netzlaufwerk verbinde" und in PHP dann per
    $path = "X:/test/test.file"
    zuzugreifen?

    Was meint ihr zu den beiden Methoden? Gibt es überhaupt einen derartigen Unterschied?

    Das Protokoll (FTP oder NetPfui) ist Wurscht. Entscheidend für die Performanze ist die Physik (Ethernet, Interfaces, Full/Half-Duplex...).

    Hotte

    1. Das Protokoll (FTP oder NetPfui) ist Wurscht. Entscheidend für die Performanze ist die Physik (Ethernet, Interfaces, Full/Half-Duplex...).

      Das stimmt so nicht. Für FTP wird für jede Datei eine neue Verbindung mit Login aufgemacht. Sowas kostet Zeit. Da ist es, grad bei vielen kleinen Dateien, um ein Vielfaches schneller, wenn das Laufwerk gemountet ist.

      1. Das Protokoll (FTP oder NetPfui) ist Wurscht. Entscheidend für die Performanze ist die Physik (Ethernet, Interfaces, Full/Half-Duplex...).

        Das stimmt so nicht. Für FTP wird für jede Datei eine neue Verbindung mit Login aufgemacht. Sowas kostet Zeit. Da ist es, grad bei vielen kleinen Dateien, um ein Vielfaches schneller, wenn das Laufwerk gemountet ist.

        Klingt logisch!

        Gibt es eine Funktion um zu Testen ob das Netzlaufwerk zur Verfügung steht? Und falls nicht aktiviere mir dieses Laufwerk? (wenn nötig mittels batch Dateien wieder mounten)...

        Danke!

        1. Gibt es eine Funktion um zu Testen ob das Netzlaufwerk zur Verfügung steht?

          Aber klar. Einfach versuchen, zum Laufwerk zu verbinden. Wenns klappt stehts zur Verfügung ;)

          Ansonsten frag den Serveradmin.

          1. Aber klar. Einfach versuchen, zum Laufwerk zu verbinden. Wenns klappt stehts zur Verfügung ;)

            Ansonsten frag den Serveradmin.

            Ich meinte eher eine PHP Funktion wie open_dir() um erstmal vor jeder Aktion anzufragen ob das Laufwerk noch gemountet und lesbar ist (kommt ab und zu vor, dass der FTP Server NA ist), falls nicht -> per exec die passende Batch Datei zum mounten starten...

      2. Das Protokoll (FTP oder NetPfui) ist Wurscht. Entscheidend für die Performanze ist die Physik (Ethernet, Interfaces, Full/Half-Duplex...).

        Das stimmt so nicht. Für FTP wird für jede Datei eine neue Verbindung mit Login aufgemacht. Sowas kostet Zeit. Da ist es, grad bei vielen kleinen Dateien, um ein Vielfaches schneller, wenn das Laufwerk gemountet ist.

        Hä? Wo hastn das her!?

        Sach mal, bitte...

        Hotte

      3. Moin!

        Das Protokoll (FTP oder NetPfui) ist Wurscht. Entscheidend für die Performanze ist die Physik (Ethernet, Interfaces, Full/Half-Duplex...).

        Das stimmt so nicht. Für FTP wird für jede Datei eine neue Verbindung mit Login aufgemacht. Sowas kostet Zeit. Da ist es, grad bei vielen kleinen Dateien, um ein Vielfaches schneller, wenn das Laufwerk gemountet ist.

        In deiner Betrachtungsweise hast du zu FTP was gesagt. Nicht zu SMB - und das Protokoll ist bekannt dafür, wirklich scheiße-langsam zu sein, jedenfalls deutlich langsamer als FTP.

        Da wir uns laut Beschreibung in einem lokalen Netz befinden, sind außerdem die Latenzzeiten für den Auf- und Abbau von neuen TCP-Verbindungen vernachlässigbar klein.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."