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 Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 25-09-2006, 21:32
Miguel1st
 Newbie
Links : Onlinestatus : Miguel1st ist offline
Registriert seit: Mar 2005
Beiträge: 6
Miguel1st ist zur Zeit noch ein unbeschriebenes Blatt
Standard Traffic aufteilen (PHP-Script)

Hallo zusammen

Also ich bin mir nicht ganz sicher, ob meine Anfrage hier im richtigen Bereich gestellt wird, aber ich hoffe, dass sie hier trotzdem hinpasst. Ansonsten: Entschuldigung.

Ausgangslage:
Ich betreibe eine recht grosse Seite, weile ein imenses Trafficaufkommen hat (ca. 20-30TB im Moment). Ich habe dementsprechend ein hohes Besucheraufkommen. Es handelt sich nicht um ein 1-Click-Hosting oder so.
Ich habe 2 Server, damit ich die Trafficlast aufteilen kann und ein gewisses Grad an Ausfallsicherheit erreichen kann. Der 2. Server ist im Moment aber noch nicht im Betrieb.

Problem:
Wie teile ich den Traffic am besten auf Scriptebene?
Ich möchte mit Subdomains arbeiten. Also => media1.server.de bzw. media2.server.de - Unter beiden Subdomain ist natürlich der gleiche Inhalt vorhanden, er wird alle 5 min per Cron und rsync abgeglichen und auf den neusten Stand gebracht.
[*] Wie teile ich den Traffic bzw. die Anfragen auf media1.server.de bzw. media2.server.de am besten um? Ich habe schon an Zufallszahlen gedacht (Wenn Zahl 1, dann media1, wenn Zahl 2, media2). Aber ich kann mich da noch nicht richtig anfreunden. Hat wer bessere Ideen und Lösungen?[*] Ich möchte: Wenn ein Server ausfällt, alle Anfragen auch auf einen Server leiten lassen (z.B. 100% der Anfragen auf media1.server.de, weil media2 offline)[*] Das System sollte erweiterbar auf 3 oder auch 4 Server sein.


Gruss und vielen Dank für alle Ideen und Ratschläge.

Miguel
Mit Zitat antworten
  #2 (permalink)  
Alt 25-09-2006, 21:37
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Traffic aufteilen (PHP-Script)

Insbesondere bei einem solchen Datenaufkommen würde ich da nicht erst PHP-seitig rumfummeln, kommt m.E. zu spät.

Eher mal nach professionellen Lösungen Ausschau halten - vielleicht in der engl. wikipedia zum Thema Load Balancing u.ä. Quellen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 25-09-2006, 21:55
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Japp. Professionelles Load-Balancing ist das einzig wahre.
Mit Zitat antworten
  #4 (permalink)  
Alt 26-09-2006, 15:39
Lennie
 PHP Senior
Links : Onlinestatus : Lennie ist offline
Registriert seit: May 2006
Beiträge: 1.013
Lennie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
 Es handelt sich nicht um ein 1-Click-Hosting oder so
Du willst am code herumfummeln, wenn du noch nicht einmal weist, was du überhaupt für eine seite hast?

wenn ich mir das spontan überlege, legst du auf beide server dasselbe script.
um den kompletten inhalt der index legst du nun eine if abfrage. bei jeden aufruf der seite zählst du in einer datei eine zahl höher. wenn die zahl ungerade machst du eine weiterleitung zu server 1 wenn die zahl gerade ist zum 2 server.
so wird jedes mal deer server gewechselt.

1. subdomain auf serverwahl.php einstellen.

serverwahl.php:
PHP-Code:
<?php
  $datei 
fopen("counter.txt","r+");
  
$counterstand fgets($datei);
  
$counterstand++;
  
rewind($datei);
  
fwrite($datei$counterstand);
  if (
$counterstand != 0) { 
 echo 
"<html>";
 echo 
"<head>";
 echo 
"<title>Serverauswahl</title>";
 echo <
meta http-equiv="refresh" content="10; URL=http://server1.de/">' ;
 echo "</head><body>";
  echo "Bitte warten sie. sie werden aus trafficgründen gleich zum Server 1 weitergeleitet.";}
  else { echo "<html>";
 echo "<head>";
 echo "<title>Serverauswahl</title>";
 echo <meta http-equiv="refresh" content="10; URL=http://server2.de/">'

 echo 
"</head><body>";
  echo 
"Bitte warten sie. sie werden aus trafficgründen gleich zum Server 2 weitergeleitet."; }
  
fclose($datei);
  
?>
Mit Zitat antworten
  #5 (permalink)  
Alt 26-09-2006, 15:42
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Du willst am code herumfummeln, wenn du noch nicht einmal weist, was du überhaupt für eine seite hast?
hast du die nachricht nicht richtig gelesen?

das, was du vorschlägst, ist lediglich ein kleiner und nicht funktionierender workaround. soetwas hat nicht mit load balancing zu tun.
Mit Zitat antworten
  #6 (permalink)  
Alt 26-09-2006, 15:50
Lennie
 PHP Senior
Links : Onlinestatus : Lennie ist offline
Registriert seit: May 2006
Beiträge: 1.013
Lennie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ah sorry habe das "nicht " überlesen. naja grundlegen funktioniert ja mein script. ist aber wenn die person die die seite hat, doch über seine seite bescheid weis und die wirklich nicht soviel traffic verbraucht nicht professionell sein.
für kleinere sseiten denke aich aber könnte man es nutzen.
ist jetzt eine schnell zusammengebaute funktion, habe die so ähnlich mal benutzt. man könnte jetzt noch eine prüfung einsetzen, ob die aufgerufenen seiten online sind, und wenn nicht fehler oder anderes ausgeben.
Mit Zitat antworten
  #7 (permalink)  
Alt 26-09-2006, 15:52
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
für kleinere sseiten [...]
...entfällt die problematik.
Mit Zitat antworten
  #8 (permalink)  
Alt 26-09-2006, 17:15
Miguel1st
 Newbie
Links : Onlinestatus : Miguel1st ist offline
Registriert seit: Mar 2005
Beiträge: 6
Miguel1st ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo

Vielen dank für die Ratschläge und Antworten.
Kurz zum richtig stellen: Ich möchte nicht die ganze Seite teilen (html/php), diese hat schon genug Ressourcen frei auf einem mittelklasse Server. Es geht um den Traffic, der vorallem durch kleine Downloads (4-10MB) entsteht.

Eine Lösung mit Counter in einem Textfile möchte ich nicht (da je nach dem viele Anfragen gleichzeitig kommen und diese sollten zügig bearbeitet werden). Dies scheint mir doch ein bisschen zu unsauber. Es wäre auch nicht nötig gewesen, dass 50/50 geteilt wird, 55/45 wäre ja auch okay (ich mein: zufall hätte gereicht).

Ich werde wahrscheinlich ein Versuch mit "pound" starten und so ein kleiner LoadBalancer vorschalten, der die Anfragen teilt. Naja mal sehen, auf alle Fälle danke. Ich hätte gerne eine Lösung im Script gefunden, aber ihr habt mich vielleicht überzeugt, dass es nicht "sauber" ist.


Gruss
Miguel
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 21:14 Uhr.