php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.03.2010, 06:56  
Erfahrener Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse:
Fortgeschritten
jGeee befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] [SFTP] Große Datenmengen - Queue?

Hallo liebe Community,

ich stehe momentan vor dem Problem, dass ich erstmals mit PHP in Verbindung mit SFTP (SSH2) arbeiten muss, undzwar sollen große Datenmengen übertragen werden. Als lib benutze ich PHP Secure Communications Library | Get PHP Secure Communications Library at SourceForge.net.

Ich habe ca 3.000 Datensätze, zudenen jeweils mind. 3 Bilder existieren, die sollen von Server zu Server übertragen werden.

Mein Problem besteht nun darin, dass ich nicht genau weiß, wie ich die queue aufbauen soll, denn wielange eine Übertragung einer Datei dauern wird, kann ich ja nicht ahnen.
Ich kann zwar prüfen ob die Datei erfolgreich übertragen worden ist, jedoch weiß ich natürlich nicht, ob ein Datensatz ink. Bilder innerhalb 300 Sekunden übertragen wurde. (300 Sekunden deshalb, weil Apache dann abbrechen wird, da bringt mir max_execution_time und set_time_limit ja auch nichts,.... - obwohl: die konfiguration sowieso irrelevant ist, da bei ausführung durch den cronjob, diese sowieso auf 0 gesetzt sind, oder lieg ich da grade falsch?!).

Jedoch glaube ich kaum, dass ein Datensatz inkl. Bilder (maximal 10MB) länger als 300s brauchen wird, diese zu übertragen, Nur glauben ist in dem Falle natürlich nicht gut, deshalb frage ich euch?

Jemand Erfahrungen in dem Bereich gemacht?

Geändert von jGeee (06.03.2010 um 07:00 Uhr).
jGeee ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.03.2010, 14:20  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Was steht denn zur verfügung ?
Einfacher Webspace ?
Root Server ?
Ist das eine einmalige Sache ? Oder willst du sowas öfters machen ?

Da die lib wohl komplett in PHP geschrieben ist und nicht die ssh-extension nutzt wird das denke ich auch bei 10MB schon nen moment dauern, die frage ist was die Limitierung sein wird, die cpu/core des servers ? Die mögliche ausgehende Übertragungsgeschwindigkeit ? Die maximale Geschwindigkeit des anderen Servers ?
Das solltest du zuerst mal ausloten.

Wenn das ein Server ist würde ich an deiner Stelle eher den weg gehen und entweder das komplett ohne php machen (shell-script) oder via exec/system aus dem php-script die scp-binary nutzen, das dürfte ein gutes stück performanter sein wie ein in php implementiertes SSH2/SCP.

Ansonsten gibt es auch noch die SSH2-Extension für PHP, wenn du unbedingt in PHP bleiben willst, aber zumindest die möglichkeit hast Extensions zu installieren.

Ne Queue ist dann auch wieder abhängig davon ob du nen queue-server in irgendeiner art installiert hast oder installieren kannst oder ob du das ganze selbst basteln willst/musst, ob du überhaupt shell-zugang hast oder nicht ... und soweiter.

Bin jetzt zu faul da alle möglichkeiten zu schreiben, beschreib doch mal genauer was dir zur Verfügung steht, was du machen kannst/willst und soweiter.
robo47 ist offline   Mit Zitat antworten
Alt 07.03.2010, 23:36  
Erfahrener Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse:
Fortgeschritten
jGeee befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

nein es ist eine einmalige Sache. Auf dauer werden nur wenige Datensätze synchronisiert, natürlich auf keinem Webspace, ist schon einer unserer Roots

Kann die Serverinformationen des zusendenden Servers jedoch erst morgen früh liefern, wenn mein Admin zu erreichen ist.
Leider habe ich keinen shell-Zugriff (was ich aber - wenn nicht anders möglich - auch morgen früh ändern kann), sonst würde ich das ganze wahrscheinlich anders lösen, jedoch bleiben mir leider nur 2 Möglichkeiten.

1) Wie du auch sagtest, via exec/system
oder
2) Über meine genannte lib.

Denn die PHP-Extension kann laut meines Admins nicht installiert werden, er will es jedoch auch nicht gern..

Habe gerade auch mal kurz versucht über system(); eine Verbindung aufzubauen, jedoch liefert mir folgender command nichts zurück

PHP-Code:
system('sftp -C -oIdentityFile=#file# -oPort=#port# #user#@#host'); 
Möchte ich nun das Remote-Verzeichnis auslesen, bekomme ich auch nichts zurück..
Wobei die Verbindung über meine genannte lib funktioniert.. vielleicht mach ich auch nur was falsch?

Die Queue müsste ich schon selbst proggen, wobei dass nicht das Problem sein sollte, die Frage ist halt nur, wie und ob ich überhaupt vor der Übertragung eines Datensatzes prüfen kann, wielange diese dauern wird, damit auch alle Dateien komplett übertragen werden, und nicht mittendrin i-etwas zum abbruch führt... Ohne Queue würde das ganze eh nicht funktionieren, denn die Datensätze werden bestimmt nicht vorm Apache-Timeout übertragen sein - ebenfalls - wenn apache-timeout höher gesetzt - wird es bestimmt zur Server-Überlastung führen, nich wahr..?

Bin leider noch nicht ganz fit was diesem Bereich angeht...


btw: empfehlungen für einen queue-server? würd ich dann direkt mal testen..habe zwar schon gesucht, jedoch fiel mir da nur dropr auf, da man dort ziehmlich easy mit php drauf zugreifen kann, was bei JMS Message Queues ja nicht gerade der fall ist..

Geändert von jGeee (08.03.2010 um 07:37 Uhr).
jGeee ist offline   Mit Zitat antworten
Alt 08.03.2010, 10:55  
Erfahrener Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse:
Fortgeschritten
jGeee befindet sich auf einem aufstrebenden Ast
Standard

Update:

Habe nun shell zugang bekommen und direkt alles über sftp rübergeschoben. ging alles direkt ohne probleme.. Hätte echt nicht gedacht, dass die Performance direkt über die Shell ein so großer Unterschied im gegensatz zur PHP-Implementation ist..

Thread kann somit geschloßen werden...
jGeee ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Größe der abgefragten Datensätze trodana Datenbanken 14 04.03.2010 08:16
Wie Größe einer IMAP/NNTP Message ohne kompl. Download rausfinden? cider PHP-Fortgeschrittene 6 22.02.2010 23:44
Größe in PX nach rechts flexibel Rubio PHP Tipps 2010 30 22.02.2010 23:12
MS-SQL Queue Deadlocks boernard Datenbanken 6 10.08.2009 10:13
Bild aus einem <img../> Tag auf quadratische Größe beschneiden beginnend in der Mitte jl2424 PHP Tipps 2009 6 13.06.2009 15:18
[Erledigt] Bild mit wasserzeichen in vari größe Kay654 PHP Tipps 2009 10 14.04.2009 14:25
große Datenmengen und die Same Origin Policy R4v3r JavaScript, Ajax und mehr 4 30.03.2009 12:42
Größe von Memory (Heap) Tabellen R4v3r Datenbanken 1 22.08.2007 17:11
Größe des Arrays oder der MySQL-Abfrage in Bytes? Gumfuzi PHP Tipps 2006 10 03.10.2006 16:48
von mysql tabellen die größe in bytes von bestimmten zeilen Blank Datenbanken 5 07.08.2006 15:40
DIV dynamischer Größe mit Schatten TheIfrit HTML, Usability und Barrierefreiheit 9 15.03.2006 18:21
Größe von Button ändern HTML, Usability und Barrierefreiheit 2 29.09.2005 15:29
große datenmengen aus mysql auslesen bratwurstschorsch PHP Tipps 2005-2 6 04.08.2005 16:05
[Erledigt] Größe einer Abfrage ermitteln Datenbanken 3 07.12.2004 17:29
[Erledigt] Größe des Fenster durch array PHP Tipps 2004 12 01.09.2004 12:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php große datenmengen, sftp performance, winscp es wurde ein zu großes sftp, winscp abbruch, winscp download abbruch, php sftp, queue php, sftp große dateien, http://www.php.de/php-fortgeschrittene/65411-erledigt-sftp-grossye-datenmengen-queue.html, zu großes sftp paket, datenmenge queue jms, \zu großes sftp paket\, winscp \es wurde ein zu großes\, performance sftp, sftp & timeout, psftp quere bedeutung, winscp zu großes sftp paket, es wurde ein zu großes sftp, php \system(sftp\, sftp php

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum