Wie große Websites werden vergrößert und auf massiven Datenverkehr optimiert? [geschlossen]

8

Wie optimieren Websites wie Facebook und Twitter ihre Websites für massiven Datenverkehr? Abgesehen davon, dass Sie viel Geld für die Erlangung der besten Server ausgeben, was kann in Ihrem Code optimiert werden, um massiven Datenverkehr aufzunehmen?

Ich habe über das Zwischenspeichern Ihrer Seiten in statischem HTML gelesen, aber das ist für Websites sozialer Netzwerke, auf denen die Seiten ständig aktualisiert werden, unpraktisch.


quelle
Wenn Sie durchschnittlich 10000 Zugriff pro Sekunde erhalten, erspart Ihnen sogar ein Caching von 1 Sekunde die 9999-Skriptverarbeitung.
Das könnte Sie auch interessieren (ich kann den Originalbeitrag von SO-Besitzern nicht finden): highscalability.com/blog/2009/8/5/…
Hier ist ein Video und eine Präsentation, die einige der Dinge beschreiben, die die Ingenieure bei Facebook getan haben, um zu skalieren.
Aufather

Antworten:

14

Facebook ist ein besonders extremes Beispiel für die Auslastung, aber im Allgemeinen für stark frequentierte Websites:

  1. Verwenden Sie ein Content Delivery Network (CDN) zum Verteilen statischer Assets (CSS und JavaScript) und Medien (Bilder, Videos usw.).
  2. Verwenden Sie nach Möglichkeit In-Memory-Caches wie Memcached, um die Belastung der Datenbank zu verringern.
  3. über einen Load Balancer verfügen, der den Datenverkehr an einen Pool von Webservern verteilt
  4. Generieren Sie generierte HTML-Fragmente (z. B. Teile Ihrer Profilseite) im Cache und schließen Sie sie ein, wenn Sie eine vollständige Antwort generieren
Rechnung
quelle
1
+1 Ich hätte es selbst nicht besser sagen können. Für ein CDN-Netzwerk kann ich für Amazon S3 + Cloudfront bürgen, das sich als sehr gut für die Bereitstellung statischer Inhalte erwiesen hat. Überprüfen Sie für den Speicher-Cache auch Redis.
Martin Wickman
Warum ist Facebook ein schlechtes Beispiel?
Oh, es ist nicht schlecht; Ich sage nur, dass die meisten Websites niemals auf der Ebene von Facebook oder Google belastet werden.
Bill
Facebook hat jetzt 60.000 Server datacenterknowledge.com/the-facebook-data-center-faq-page-2
Steven A. Lowe
1

Content Delivery Network

Facebook verwendet das Netzwerk zur Bereitstellung statischer Inhalte zum Bereitstellen von Fotos und Videos. Überprüfen Sie die Quelle eines Bildes in Facebook und Sie werden so etwas wie fbcdn.net sehen.

Gulshan
quelle
1
Können Sie zumindest erklären, was CDN im Kontext von Facebook ist? Zum Beispiel wie der Link blog.facebook.com/blog.php?post=2406207130
Kanini
@ Kanini Sie können überprüfen- en.wikipedia.org/wiki/Content_delivery_network
Gulshan
Was ist der Unterschied zwischen Cloud Computing und CDN?