Bevor Sie darauf antworten, habe ich noch nie etwas entwickelt, das populär genug ist, um eine hohe Serverlast zu erreichen. Behandle mich als (Seufzer) einen Außerirdischen, der gerade auf dem Planeten gelandet ist, obwohl er PHP und einige Optimierungstechniken kennt.
Ich entwickle ein Tool in PHP , das eine Menge Benutzer erreichen könnte, wenn es richtig funktioniert. Obwohl ich in der Lage bin, das Programm zu entwickeln, bin ich ziemlich ahnungslos, wenn es darum geht, etwas zu entwickeln, das mit großem Datenverkehr umgehen kann. Hier sind ein paar Fragen dazu (Sie können diese Frage auch in einen Ressourcen-Thread verwandeln).
Datenbanken
Im Moment plane ich, die MySQLi-Funktionen in PHP5 zu verwenden. Wie soll ich die Datenbanken jedoch in Bezug auf Benutzer und Inhalte einrichten? Muss ich wirklich brauchen mehrere Datenbanken? Im Moment ist alles in einer Datenbank durcheinander - obwohl ich überlegt habe, Benutzerdaten auf eine, tatsächliche Inhalte auf eine andere und schließlich Kerninhalte der Website (Vorlagenmaster usw.) auf eine andere zu verteilen. Meine Argumentation dahinter ist, dass das Senden von Abfragen an verschiedene Datenbanken das Laden dieser Anfragen als eine Datenbank = 3 Ladequellen erleichtert. Wäre dies auch dann noch effektiv, wenn sich alle auf demselben Server befänden?
Caching
Ich habe ein Vorlagensystem, mit dem die Seiten erstellt und Variablen ausgetauscht werden. Master-Vorlagen werden in der Datenbank gespeichert und jedes Mal, wenn eine Vorlage aufgerufen wird, wird ihre zwischengespeicherte Kopie (ein HTML-Dokument) aufgerufen. Im Moment habe ich zwei Arten von Variablen in diesen Vorlagen - eine statische und eine dynamische Variable. Statische Variablen sind normalerweise Dinge wie Seitennamen, der Name der Site - Dinge, die sich nicht oft ändern; Dynamische Vars sind Dinge, die sich bei jedem Laden der Seite ändern.
Meine Frage dazu:
Angenommen, ich habe Kommentare zu verschiedenen Artikeln. Was eine bessere Lösung ist: Speichern Sie die einfache Kommentarvorlage und rendern Sie Kommentare (aus einem DB-Aufruf) jedes Mal, wenn die Seite geladen wird, oder speichern Sie eine zwischengespeicherte Kopie der Kommentarseite als HTML-Seite - jedes Mal, wenn ein Kommentar hinzugefügt / bearbeitet / gelöscht wird Die Seite wird zwischengespeichert.
Schließlich
Hat jemand irgendwelche Tipps / Hinweise zum Ausführen einer Hochlast-Site auf PHP. Ich bin mir ziemlich sicher, dass es eine funktionierende Sprache ist - Facebook und Yahoo! Geben Sie ihm großen Vorrang - aber gibt es irgendwelche Erfahrungen, auf die ich achten sollte?