Massive Websites wie Google, Facebook und Twitter erhalten nicht unbedingt die "besten" Server, da sie nicht eine kleine Anzahl von Hochleistungsservern ausführen, sondern eine massive Anzahl kleinerer und billigerer Server. Sie erwarten, dass Hardware stirbt und ersetzt wird, und der Code ermöglicht dies.
Einige Dinge, die für Websites mit großem Maßstab typisch sind:
- Sie verwenden keine SQL-Datenbanken wie mySQL. Stattdessen speichern sie Schlüsselwerte wie HBase oder Cassandra. mySQL und andere SQL-DBs sind zu langsam, wenn die Anzahl der Anforderungen sehr hoch ist.
- Sie zwischenspeichern so viel wie möglich. HTML-Caching, wie Sie sagen. Benutzerdaten werden unter Verwendung von Dingen wie memcached im Speicher gespeichert.
- Einige Websites, wie z. B. Reddit, speichern Seiten vor, bevor ein Benutzer sie überhaupt angefordert hat.
- Berechnen Sie so viel wie möglich vor, Websites arbeiten in der Regel Dinge wie die Anzahl Ihrer Freunde (oder was auch immer) aus und speichern diese ebenfalls - ein wenig wie möglich erfolgt dynamisch.
http://highscalability.com/ ist eine großartige Website, um mehr darüber zu erfahren.
Das Entladen des Datenbankverkehrs über Sharding ist wahrscheinlich eine der besten Möglichkeiten, um eine Site mit hohem Datenverkehr zu skalieren.
Die Reduzierung der Ladezeit von Seiten durch Komprimieren von Ressourcendateien mit gzip und das Kombinieren mehrerer Ressourcendateien zu einer, um die Anzahl der Anforderungen zu verringern, die der Browser stellen muss, ist ebenfalls eine sinnvolle Optimierung.
quelle
Ich dachte, ich würde HipHop für PHP erwähnen , das PHP in C ++ verwandelt und von Facebook entwickelt wurde . Ich glaube, Facebook hat auch an APC gearbeitet .
quelle
eval
) nicht einfach zu übersetzen sind ...