Kelihatannya seperti Google bukanlah satu-satunya perusahaan web dengan kebutuhan untuk kecepatan. Sementara upaya perbatasan pada obsesi, lain berbasis di Silicon Valley startup berpaling raksasa internet mulai menjadi pesaing untuk judul, yang dengan cepat menjadi musuh utama Google. Facebook telah menangkap kecepatan bug dan tampaknya serius. Beberapa minggu yang lalu, jaringan sosial insinyur memamerkan teknologi, HipHop, yang mengurangi penggunaan CPU server hingga 50 persen pada beberapa kasus dan sekarang Facebook membual bahwa hal itu berhasil membuat situs dua kali lebih cepat hanya dalam waktu enam bulan berkat berat optimasi dan front end.
“Dari awal 2008 sampai pertengahan 2009, kami menghabiskan banyak waktu mengikuti praktek-praktek terbaik ditetapkan oleh pionir dalam bidang kinerja web untuk mencoba dan meningkatkan TTI [Sisa untuk Berinteraksi],” software engineer Facebook Jason Sobel menulis.
“Pada bulan Juni 2009, kami telah melakukan perbaikan signifikan, pemotongan rata-rata waktu render setengah untuk pengguna di Amerika Serikat … Kami memutuskan untuk mengukur TTI di persentil 75 untuk semua pengguna sebagai cara yang lebih baik untuk mewakili seberapa cepat situs rasakan. Setelah melihat data, kami menetapkan tujuan ambisius untuk mengurangi separuh pengukuran ini pada tahun 2010, kami memiliki sekitar enam bulan untuk membuat Facebook dua kali lebih cepat, “ia menjelaskan.
“Saya senang untuk mengatakan bahwa pada 22 Desember sebagai hasil dari upaya ini dan lainnya, kami mengumumkan kemenangan pada tujuan kami untuk membuat situs dua kali lebih cepat. Kami bahkan sudah 9 hari penuh untuk cadangan!” Sobel mengumumkan.
Facebook itu terutama senang dengan kinerja dari infrastruktur, tetapi merasa bahwa waktu pembukaan halaman bisa lebih pendek. Signifikan lebih pendek, sebenarnya. Tim berfokus pada beberapa aspek, yang dapat menghasilkan kecepatan loading lebih cepat bagi kebanyakan orang. Salah satu cara yang jelas untuk melakukan hal ini, meski lebih mudah dikatakan daripada dilakukan, adalah untuk mengurangi ukuran file yang harus diambil untuk situs yang akan dijalankan dalam browser.
Para insinyur mampu mengurangi ukuran rata-rata kue-kue yang digunakan oleh situs oleh 42 persen dan itu sebelum mengompresi file. Bidang lain yang ditingkatkan adalah dalam cara berbagai halaman di Facebook berbagi Common kode HTML dan CSS. Sebelumnya, setiap page loaded kode kustom sendiri meskipun elemen-elemen yang sama pada berbagai halaman. Sekarang, Facebook menggunakan kode bersama untuk beberapa halaman, yang berarti bahwa setelah pengguna men-download sekali, kode akan digunakan kembali oleh halaman Facebook lain mereka beban. Ini memungkinkan Facebook untuk mengurangi ukuran file CSS diambil untuk setiap halaman dengan 19 persen, dan kompresi dari hmtl yang sebesar 44 persen.
Satu daerah terakhir kode yang diperlukan adalah mengoptimalkan beberapa JavaScript. Sebagai tempat tumbuh dan menambahkan lebih banyak fitur, kode basis yang diperlukan untuk tumbuh juga. Tapi setelah menganalisis berbagai kode JavaScript yang digunakan pada situs, Facebook insinyur menyadari bahwa banyak fitur yang dapat menggunakan kode umum untuk mencapai banyak dari apa yang mereka dibutuhkan. Facebook menciptakan sebuah perpustakaan dasar baru itu disebut Primer, yang digunakan kembali oleh berbagai fitur di situs. Hal ini mengakibatkan penurunan 40 persen ukuran file JavaScript download per halaman.
Akhirnya, Facebook memutuskan untuk berpisah elemen pada halaman, sehingga mereka beban secara terpisah. “Kami menyebut seluruh sistem BigPipe dan memungkinkan kita untuk memecah halaman web kami di blok logis isi, yang disebut Pagelets, dan pipa generasi dan membuat Pagelets ini. Melihat di halaman rumah, misalnya, memikirkan newsfeed sebagai salah satu Pagelet, maka kotak Saran lain, dan iklan lain, “Sobel mengungkapkan. Idenya adalah browser memberikan sesuatu untuk dilakukan sementara komponen lainnya masih sedang diproses. Hal ini juga membuat segalanya tampak lebih cepat bagi pengguna bahkan jika beban kali adalah sama dengan hanya menampilkan semuanya dalam satu push besar.
No comments:
Post a Comment