php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 31-05-2007, 12:40
kaguya
 Newbie
Links : Onlinestatus : kaguya ist offline
Registriert seit: Apr 2004
Beiträge: 132
kaguya ist zur Zeit noch ein unbeschriebenes Blatt
kaguya eine Nachricht über ICQ schicken
Standard Bildupload in einen Cluster

Hallo,

ich habe ein Problem zu dem ich gerne ein paar Meinungen hören würde, vielleicht hat ja jemand eine bessere Idee wie man das ganze realisieren könnte.

Es geht um eine PHP Anwendung die beim Kunden in einem HTTP Cluster läuft, was soweit auch gut funktioniert. Problemmatisch wird das ganze beim Bildupload.
An gewissen Stellen (Profil, Artikel, Galerien) ist es möglich ein Bild hochzuladen. Ursprünglich hatte ich hier eine feine Iframe/Ajax Lösung die das Bild in einem Iframe hochgeladen hat und per Ajax wurde dann das Bild nach dem Upload angezeigt, das ganze hat also komplett ohne Seite neuladen funktioniert.
Das musste ich schonmal umbauen weil das Uploadscript auf einem externen Server laufen muss da man nicht in den Cluster uploaden kann. Die Iframe Lösung hat dann wegen der "Same Origin Policy" nicht mehr funktioniert, weil das Uploadscript eben auf einem anderen Host lief, also musste ich überall einen Standardupload per Seite neuladen einbauen. Soweit sogut.

Das Hauptproblem ist allerdings das die Bilder nicht von diesem externen Server geladen werden, sondern von dort erst wieder im Cluster verteilt werden bevor man drauf zugreifen kann, dieser Vorgang dauert etwa 2-5 Minuten. Der User sieht nun nach dem Upload also noch kein Bild sondern erst wenn er nach 2-5 Minuten die Seite neulädt und das Bild bis dahin verteilt wurde. Usability technisch schonmal ein Alptraum.
Ich habe das ganze nun etwas verbessert indem ich vor der Ausgabe des Bildes prüfe ob das Bild auf dem externen Server vorhanden ist, ergo upgeloadet wurde aber nocht nicht verteilt wurde, und zeige in dem Fall dann ein "Bild in kürze verfügbar".
Der User muss aber trotzdem manuell die Seite neuladen.

Alles in allem bin ich damit garnicht glücklich, aber gibt es Alternativen ?

Eine Möglichkeit wäre das per Ajax und einer Schleife in einer bestimmten Zeit zu prüfen ob das Bild vorhanden ist, bei vielen Bildern auf einer Seite aber ein Performance Killer.

Eine weitere Möglichkeit wäre nach dem Upload den User nach 2-5 Min zu einem Reload zu zwingen, per meta refresh oder JS oder wie auch immer, auch keine schöne Lösung.

Man könnte die Bilder auch in DB statt im Filesystem speichern, das würde die Verzögerung eliminieren, aber ich denke auch das ist ein Performance Killer.

ODER man lädt die Bilder erst vom externen Server solange bis sie im Cluster verfügbar sind, wie das in der Praxis funzt müsste ich mal testen.

Mich würde interessieren wie soetwas im Detail bei anderen großen Projekten funktioniert. Ich denke mal da gibt es dann einfach Imageserver auf denen die Bilder verteilt werden und dann einfach vom entsprechenden Server geladen werden ?! Hat da jemand Erfahrungen ?

Ich würde mich sehr über Tipps/Erfahrungen freuen

danke schonmal
Mit Zitat antworten
  #2 (permalink)  
Alt 31-05-2007, 15:27
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso dauert es 2-5 Minuten ein Bild von einem Server auf einen anderen Server zu kopieren?
Mit Zitat antworten
  #3 (permalink)  
Alt 31-05-2007, 15:32
kaguya
 Newbie
Links : Onlinestatus : kaguya ist offline
Registriert seit: Apr 2004
Beiträge: 132
kaguya ist zur Zeit noch ein unbeschriebenes Blatt
kaguya eine Nachricht über ICQ schicken
Standard

Soweit ich weiss haben die da ein Cronjob Script das alle 2Minuten auf Veränderungen im Dateisystem prüft und die Dateien dann synchronisiert. Die genaue Zeit weiss ich nicht, aber es sind so ungefähr 3 Minunten bis ein Bild verfügbar ist.
Mit Zitat antworten
  #4 (permalink)  
Alt 31-05-2007, 17:49
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von kaguya
Soweit ich weiss haben die da ein Cronjob Script das alle 2Minuten auf Veränderungen im Dateisystem prüft und die Dateien dann synchronisiert. Die genaue Zeit weiss ich nicht, aber es sind so ungefähr 3 Minunten bis ein Bild verfügbar ist.
Und dann wird alle 3 Minuten oder so alle Bilder überprüft und ob die schon auf allen Clustern sind?
Irgendwie sehr kontraproduktiv...

Wieso nicht einfach nach dem Upload ein Skript triggern was das Verteilen sofort übernimmt?
Dann kann man noch ein sleep(5) im Upload-Skript vor der Ausgabe einbauen, in der Zeit sollte das Bild im kompletten Cluster verteilt sein, und wenn die Seite dann endlich beim Browser ankommt kann das Bild vom Cluster geladen werden.

Ein adäquates Fallback wäre natürlich trotzdem noch wünschenswert.

Aber es bleibt dir, so wie ich das sehe, (an vernünftigen Varianten) nur die Distribution-Zeit zu verringern oder das Bild nach dem Upload erstmal auf dem Upload-Server statt direkt im Cluster zu verlinken.
Mit Zitat antworten
  #5 (permalink)  
Alt 31-05-2007, 17:56
kaguya
 Newbie
Links : Onlinestatus : kaguya ist offline
Registriert seit: Apr 2004
Beiträge: 132
kaguya ist zur Zeit noch ein unbeschriebenes Blatt
kaguya eine Nachricht über ICQ schicken
Standard

ja das ist keine schlechte Idee, werde mal anfragen inwiefern das möglich wäre.
Weisst du (oder jemand anderes) denn wie soetwas bei anderen großen Projekten gemanaged wird ?
Mit Zitat antworten
  #6 (permalink)  
Alt 31-05-2007, 17:58
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von ghostgambler
Aber es bleibt dir, so wie ich das sehe, (an vernünftigen Varianten) nur die Distribution-Zeit zu verringern oder das Bild nach dem Upload erstmal auf dem Upload-Server statt direkt im Cluster zu verlinken.
Letztere Methode verfeinert:
Auf dem Cluster-Server, auf dem der Nutzer eh gerade schon ist, bleiben, und das Bild von dort verlinken.
Ist es dort noch nicht vorhanden, kann das 404-Script einspringen, welches dann auf dem Upload-Server nachschaut, und wenn vorhanden die Bilddaten von dort einliest und an den Client durchschleust.
Vorteil: Client muss ein und das selbe Bild nicht zwei mal von verschiedenen Servern laden - Caching ist effektiver möglich.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:00 Uhr.