Bagaimana situs besar meningkatkan dan mengoptimalkan lalu lintas besar? [Tutup]

8

Bagaimana situs seperti Facebook dan Twitter mengoptimalkan situs mereka untuk lalu lintas besar. Selain menghabiskan banyak uang untuk mendapatkan server terbaik, apa yang dapat dioptimalkan dalam kode Anda untuk mengakomodasi lalu lintas besar?

Saya telah membaca tentang caching halaman Anda ke HTML statis, tetapi itu tidak praktis untuk situs jejaring sosial di mana halaman-halaman tersebut terus diperbarui.


sumber
Jika Anda mendapatkan rata-rata 10.000 akses per detik, bahkan caching 1 detik akan menghemat 9999 pemrosesan skrip.
Anda mungkin tertarik pada ini juga (saya tidak dapat menemukan posting asli oleh pemilik SO): highscalability.com/blog/2009/8/5/…
Berikut ini adalah video dan presentasi yang menjelaskan beberapa hal yang dilakukan para insinyur di Facebook untuk ditingkatkan.
aufather

Jawaban:

14

Facebook adalah contoh beban yang ekstrem, tetapi secara umum, situs dengan lalu lintas tinggi:

  1. menggunakan jaringan pengiriman konten (CDN) untuk mendistribusikan aset statis (CSS dan JavaScript) dan media (gambar, video, dll.).
  2. gunakan cache dalam-memori seperti Memcached kapan pun memungkinkan untuk mengurangi beban pada database.
  3. memiliki penyeimbang beban yang mendistribusikan lalu lintas ke kumpulan server web
  4. cache menghasilkan fragmen HTML (mis. bagian dari halaman profil Anda) dan memasukkannya ketika menghasilkan respons penuh
Tagihan
sumber
1
+1 Tidak bisa mengatakannya dengan lebih baik. Untuk jaringan CDN, saya dapat menjamin untuk Amazon S3 + Cloudfront yang saya temukan berfungsi sangat baik untuk menyajikan konten statis. Untuk cache memori, periksa Redis juga.
Martin Wickman
Mengapa Facebook adalah contoh yang buruk?
Oh, itu tidak buruk; Saya hanya mengatakan bahwa sebagian besar situs web tidak akan pernah mengalami pemuatan di tingkat Facebook atau pengalaman Google.
Bill
facebook sekarang memiliki 60.000 server datacenterknowledge.com/the-facebook-data-center-faq-page-2
Steven A. Lowe
1

Jaringan Pengiriman Konten

Facebook menggunakan jaringan pengiriman konten statis untuk melayani foto dan video. Periksa sumber gambar apa pun di Facebook dan Anda akan melihat sesuatu seperti fbcdn.net.

Gulshan
sumber
1
Bisakah Anda menjelaskan apa itu CDN, dalam konteks Facebook? Misalnya, seperti link blog.facebook.com/blog.php?post=2406207130
Kanini
@Kanini Anda dapat cek- en.wikipedia.org/wiki/Content_delivery_network
Gulshan
Apa perbedaan antara Cloud Computing dan CDN?