Klik pada gambar di bawah ini untuk melihatnya di layar penuh dan gunakan panah untuk menavigasi di sekitar area. Google Street View, Anda harus memeriksa InsantStreetView. Akun biner untukmu Bahkan bisa diakses dari browser web pada perangkat mobile Anda. Mengapa tidak menjelajahi beberapa tempat terbaik di Bumi dengan Street View? Materi ini, dan konten digital lainnya di situs web ini, mungkin tidak boleh diproduksi ulang, diterbitkan, disiarkan, ditulis ulang atau didistribusikan secara keseluruhan atau sebagian tanpa izin tertulis dari PUNCH sebelumnya. Apl Google Street View yang bisa Anda gunakan. Anda dapat menggunakan permintaan untuk mengedit ruas jalan untuk menyarankan lokasi baru ditinjau dan mungkin ditambahkan di beberapa titik di masa mendatang. Anda bisa mengkliknya untuk melihatnya di layar penuh sehingga Anda bisa bergerak dan mulai menjelajah. Pegman, maka itu berarti Street View tidak tersedia untuk lokasi itu.
Situs Instant Street View sangat bagus jika Anda ingin melihat lokasi tertentu dengan segera, namun jika Anda tahu cara menggunakan Google Maps, Anda tidak dapat mengalihkannya ke Street View dari sana juga jika lokasi yang ingin Anda lihat memiliki telah difoto oleh tim Street View. Jadi Anda memasang alamat rumah Anda dan tidak mendapat apa-apa. Pertimbangkan untuk memeriksa kembali beberapa bulan atau lebih untuk melihat apakah rumah atau alamat Anda telah ditambahkan ke Street View. Jika yang Anda ketik terlalu samar, daftar pilihan drop-down akan muncul sesuai lokasi yang disarankan yang cocok dengan entri Anda. Beberapa daerah pedesaan masih dipetakan. Gambaran 360 yang paling dekat dengannya akan muncul di bawah ini. Mulailah dengan mengakses Google Maps dengan menavigasi ke google. Google Maps sebagai cara untuk berkontribusi, sehingga Anda dapat membantu pengguna melihat lebih banyak hal yang ingin mereka lihat di lokasi tersebut. Bila Anda menemukan tempat yang tepat, Anda dapat menggunakan mouse Anda untuk mengeklik dan menyeret sekitar untuk mengubah arah, dan menggunakan panah di bagian bawah untuk bergerak ke belakang, ke depan atau ke samping.
Kita hanya bisa mengirim, dalam kasus ini, empat, yang merupakan nilai sebelumnya untuk jendela kemacetan ini. Jadi inilah satu-satunya nilai yang telah berubah, jadi dalam kasus ini, saya hanya akan mengirimkan satu pasangan nilai kunci ini, yang hebat. Biarkan saya menutup koneksi. Kecepatannya meningkat. Inilah grafik yang merupakan grafik kunci yang membuat Google mulai memikirkan hal ini dengan serius dan benar-benar memulai pekerjaan SPDY di tahun 2009, saya kira, atau 2008 bahkan. Rasanya seperti mendapatkan sumber ini, nomor versi. Syukurlah sekarang kita memiliki beberapa otomatisasi untuk banyak hal itu, tapi saya masih mengenal orang-orang yang melakukan ini dengan tangan, yang agak menyedihkan. Baru-baru ini sebenarnya telah diperbarui hanya dalam setahun terakhir menjadi 10 paket.
Oh, benda yang saya terima itu milik arus itu. Ini adalah sesuatu yang perlu dilakukan banyak hal untuk dioptimalkan. Kami hanya mengirim 20 kilobyte. Ini adalah kesempatan lain yang benar-benar menarik bagi server untuk melakukan pekerjaan yang lebih cerdas, dan perantara juga, dalam hal algoritma yang tepat untuk melakukan penggusuran header ini, seterusnya dan seterusnya. TCP Slow Start adalah fitur, bukan bug. Jika Anda mengikuti semua itu, itu harus terjadi dalam, baik, idealnya milidetik. Google sedang mencoba untuk mencari tahu, bagaimana kita membuat produk kita cepat di mobile? Kemudian kami mengirim permintaan. Ini bahkan bukan ke server Anda yang sebenarnya.
Sebenarnya, biarkan aku kembali. Setelah itu, sebenarnya kita hanya memperpanjangnya. Itu juga memiliki biaya negatif. Anda harus me-reboot semuanya. Jika kita menjenuhkan semua link kita, kita bisa menggali terowongan yang lain dan menambahkan lebih banyak serat; kita hanya bisa mengikat link yang berbeda dan mendapatkan lebih banyak throughput. Dibandingkan dengan apa yang kita bangun lima atau bahkan sepuluh tahun yang lalu, web saat ini terlihat sangat berbeda. HTTP tidak cukup cepat Jenis dasarnya memberi Anda jenis bingkai yang dikomunikasikan di sini.
Ini hanya mengakhiri koneksi. Jadi ini adalah keterbatasan saat ini. Ini adalah keseluruhan pertunjukan yang menurut saya tidak banyak orang perhatikan hari ini. Awal bulan ini, kami benar-benar mengadakan sesi uji interop di Hamburg. Kami suka menulis hal-hal keren. Pertama kita harus membuka koneksi TCP, yaitu SYN dan SYN ACK. Bagaimana jika saya memiliki ketiga aset itu dalam tembolok? Berapa banyak orang di sini yang kenal dengan Slow Start?
Kami terbatas pada 6 koneksi. Semua hal harus ditangani di HTTP, begitulah seharusnya dimulai. Pada dasarnya perlu ada mekanisme untuk mengetahui di mana Anda saat ini berada dan menara mana yang saat ini melayani Anda. Jadi agak menyebalkan. Klien Java, Anda mengirim permintaan ke server, server dapat mendorong banyak tanggapan kembali ke klien Anda dan Anda dapat melakukan hal-hal yang cerdas dengannya. Dan setahun sekali, pada dasarnya kita menjalankan analisis tentang berapa rata-rata atau waktu pemuatan laman median di seluler versus desktop. Syukurlah, seperti yang saya sebutkan, penyebaran 4G dan LT, untuk sekali ini, Amerika Utara memimpin penyebaran ini. Jadi sebagian besar pergeseran dalam latensi ini tidak terwakili di seluruh dunia.
Jadi mereka membangun peta itu dan kemudian mereka mulai mendorong aset ini ke klien masa depan. Kami memiliki performa terbaik. Amerika Utara, yang merupakan kabar baik bagi kita di sini. Jadi bagaimana jika bisa mengirim ketiga permintaan sekaligus? Jadi Anda benar-benar mengirim semua pasangan nilai kunci ini ke server. Satu, kita perlu berbicara tentang bagaimana TCP bekerja.
SPDY, kita menghapus semua logika itu. Dan ini hanya latency terakhir Anda dengan DSL. Beberapa aliran dapat mengalir melalui satu koneksi TCP, yang sama dengan mengatakan bahwa banyak permintaan dapat mengalir melalui koneksi TCP. Dan beberapa dari hal-hal itu telah berhasil dan bagus, dan beberapa dari mereka tidak melakukannya. TLS waktu, yang mengambil beberapa putaran perjalanan. Jadi kontrol pesawat, ide di sini adalah, pertama sebelum Anda dapat mengirim apapun dari ponsel Anda, Anda benar-benar harus berbicara dengan menara untuk mendapatkan izin untuk mengirim data.
Lalu kita batalkan koneksi, yang menyebalkan. Apakah ini perubahan besar? Google, tentu saja, telah menggunakan SPDY selama bertahun-tahun sekarang. Setiap aliran, klien dan server, kapan pun mereka membuat aliran, mereka menyatakan sebuah ID di dalamnya, seperti 1, 3, 5, 7, 9, dll. Kita tahu bahwa kita memiliki masalah di lapisan HTTP. Ini mengirimkan paket ke gateway penayangan, dan peran gateway penayangan adalah untuk mencari tahu di mana Anda berada di jaringan seluler.
Karena sebagai teknolog kita suka memecahkan banyak hal. New York City ke London. Pada setiap permintaan, Anda hanya mengganti bit tersebut. Yang menurut saya mengejutkan banyak orang, termasuk para insinyur. Kami memiliki Jepang memimpin pak. Ini akan berhasil. Kami mencatat bagaimana halaman dibangun, seperti berapa banyak file JavaScript, file CSS, dll. Jadi apa yang akhirnya terjadi adalah kita akhirnya membuka banyak koneksi TCP ini, dan kita tidak pernah menggunakan yang sebenarnya, atau sering, seharusnya saya katakan, tidak pernah.
Upaya ini sebenarnya mendahului Januari 2012. Pada dasarnya, perusahaan ini sudah tahu, hei, ada pedagang di New York, ada pedagang di London, yang peduli dengan latency. Jadi, Anda melakukan itu. Semua pengoptimalan sebelumnya seperti memposisikan data Anda lebih dekat ke pengguna masih berlaku. Masing-masing koneksi TCP memiliki buffer memori, yang cukup mahal dalam banyak kasus. Seseorang menyimpan angka genap. Koneksi TCP, ini semua untuk apa-apa, ini sama sekali tidak berguna.
Apa yang telah kita lakukan selama dekade terakhir ini? MessagePack memiliki layer RPC tersendiri. Ada dua bagian ini. Lalu ada pengenal arus. Tapi yang pertama belum selesai. Tapi Anda sudah tahu bahwa klien, atau server dalam hal ini, sudah memiliki semua nilai ini dari permintaan sebelumnya.
Jadi ini pertumbuhan eksponensial. Internet cepat secara keseluruhan. Jadi jenis itu masuk akal kan? Inilah alasan mengapa WebSockets bekerja melalui TLS untuk mobile dan kasus lainnya dan mereka banyak memecah klien, terutama di seluler, saat menjalankan HTTP vanili. Hei, sebelumnya saya melayani permintaan JavaScript namun permintaan JavaScript memiliki prioritas lebih tinggi. Tapi kemudian ada beberapa serangan yang ditemukan terhadapnya, pada dasarnya masalah keamanan. Latency mil terakhir kami adalah x milidetik. HTTP awalnya kita mulai dengan protokol yang sangat sederhana. Dua, sebenarnya memiliki implikasi negatif pada penggunaan memori.
Jadi bagaimana cara kerja push, CDNs dan intermediate cache? Seseorang menyimpan angka ganjil. Jadi yang memberitahu Anda bahwa jika Anda ingin kehabisan dan meningkatkan koneksi Anda dan membeli ke dalam iklan terbaru, tercepat apa pun yang ditawarkan oleh penyedia lokal Anda, halaman Anda tidak akan memuat lebih cepat. Jenis yang menyebalkan kan? Anda ingin memampatkan data, dll. Jadi kita bisa mengirim hingga 15 kilobyte data, yang merupakan peningkatan signifikan dari nilai sebelumnya, yaitu tiga atau empat paket. Jadi ini benar-benar otomatis, yang merupakan bagian yang bagus tentang hal itu. Begitu Anda tahu panjangnya, Anda bisa mengetahui jenisnya. Kami ingin melestarikan apa yang kita miliki.
Jadi ini adalah jenis hal yang perlu diperbaiki pada lapisan server. Tapi pada dasarnya sebagian besar negara sudah dekat atau jauh di atas batas lima megabit per detik. Kami hanya mengatakan melihat, hanya gzip melalui sialan itu. Dapatkan permintaan misalnya. Itu hanya satu baris saja. Stubby atau sesuatu yang lain di dalam perusahaan. Jadi kita bisa mengirimkan 15 kilobyte data, maka kita harus berhenti sejenak. Ini benar-benar kejutan bahkan bagi kami saat kami menjalankan eksperimen ini. Ini pada dasarnya memulai negosiasi dengan menara lokal.
Jika Anda benar-benar menggali jauh mereka akan menunjukkan angka-angka ini di sana. Koneksi TCP, bagaimana Anda menilai batas atau mengendalikan alokasi sumber daya di antara arus tersebut? Jika berjalan di atas itu, jauh di atas itu, di atas satu detik, pada dasarnya Anda kehilangan konteksnya. Contoh MME yang pada dasarnya seperti database pengguna. Jadi, bagaimana kita membuat peralihan sel mulus mungkin? Tapi jika Anda mengendalikan klien dan server, go for it. Biarkan saya hanya shard yang di sepuluh domain yang berbeda. Ini adalah hal yang besar. Dan seperti yang Anda lihat sebelumnya di slide Akamai yang telah saya tunjukkan sebelumnya, kebanyakan orang, rata-rata di AS, berukuran lebih dari lima megabit per detik. Jadi ide dasar dengan pipelining HTTP adalah, secara default, HTTP tidak memberikan multiplexing dalam arti bahwa Anda mengirim permintaan dan Anda harus memblokir dan menunggu sampai Anda mendapatkan jawabannya.
Jadi hari ini, tepatnya per Juli 2013, sebenarnya kita punya draft implementasi pertama. Ini hanya sesuatu yang harus kita hadapi. Kami hanya ingin menggunakan satu koneksi TCP karena memang cara terbaik untuk mendapatkan throughput terbaik. Jadi semua itu perlu diganti. File JavaScript, yang sangat penting, karena kita membutuhkannya untuk merender halaman, dan kita memiliki beberapa aset gambar, yang tidak penting. Dan jika Anda menghitungnya di sini, Anda akan tahu bahwa permintaan rata-rata sekitar 14 kilobyte per permintaan. Langsung dari kelelawar, apa yang coba kita selesaikan? Jadi Anda mengirim paket dari jaringan eksternal. Agar pengguna tetap terlibat, tugas harus selesai dalam waktu 1000 milidetik.
Sekarang yang bisa Anda lakukan adalah, Anda bisa mengirim permintaan telanjang. Jadi, ini dasarnya bagaimana kita membuat kerja HTTP lebih baik dengan TCP? Dengar, jadi mengapa masalah ini? Kami ingin memiliki segalanya dengan cepat. Hei, enam permintaan secara paralel. Anda mungkin mendapatkan peningkatan kualitas Anda, namun laman Anda tidak akan dimuat dengan lebih cepat. Kami mengirim permintaan.
Menara menyiarkan sinyal tersebut. JavaScript untuk menghadirkan aplikasi yang lebih cerdas sekarang. Itu juga membutuhkan sedikit plumbing dan arsitektur dalam hal bagaimana Anda menyampaikannya kepada klien. Halaman kita jauh lebih besar dari itu. Kami hanya akan menyimpan satu konstanta dan kami hanya akan meningkatkan bandwidth dan melihat bagaimana hal itu mempengaruhi waktu buka halaman. Jadi sekali lagi, ini adalah sesuatu yang dibutuhkan pengembang dan pengembang web untuk dipikirkan dengan cermat, seperti bagaimana kita memanfaatkan hal baru yang tidak pernah kita dapatkan di HTTP sebelumnya? Kami terraforming bumi antara New York dan Chicago untuk membangun hubungan yang lebih cepat.
ALPN menambahkan sebuah mekanisme ke dalam negosiasi TLS dimana Anda dapat benar-benar menegosiasikan protokol aplikasi yang ingin Anda gunakan selama masa jabat tangan. Kami bilang, lihat, permintaan HTTP mahal, terutama yang kecil. Paket TCP kehilangan uang yang terjadi. Nah, maka Anda sebenarnya bisa membatalkan arus. Server harus pintar. New York dan kembali dalam 43 milidetik. Dan server Google, kami mencoba memposisikannya sedekat mungkin dengan semua ISP karena alasan yang tepat ini.
Hei, saya punya aliran video dan saya memiliki arus ini. Setiap frame dapat memiliki sejumlah flag kustom yang masing-masing frame define. Kami ingin melihatnya membaik. Ambil semua JavaScript, masukkan ke aplikasi. Jadi ada beberapa contoh menarik orang berinovasi di ruang ini. Apa sumber daya yang harus Anda dorong?
Tapi kemudian juga Facebook, Twitter dan lainnya mulai memungutnya. Kita bisa membuat permintaan ini. Kemudian, akhirnya, Anda menanamkan headernya. Hei, ini adalah file JavaScript. Koneksi HTTP ke client Jadi ini statistiknya. JavaScript dan CSS dan gambar. Jadi kabar baiknya adalah sedikit lebih kecil di ponsel, jadi kami mengoptimalkan untuk mobile, tapi tetap saja. Ilya Grigorik adalah insinyur kinerja web di Google, di mana ia menghabiskan hari dan malamnya untuk mengoptimalkan tumpukan web, dan menerapkan penerapan praktik terbaik kinerja. TLS, optimasi TLS sangat penting karena jabat tangan TLS sebenarnya sangat mahal.
Paling tidak, kami mengklarifikasi banyak caching. Apakah itu bingkai header atau bingkai data atau yang lainnya? Jadi sprite ini benar-benar menempati memori yang cukup sedikit pada perangkat mobile, yang merupakan masalah, sebenarnya, untuk banyak perangkat mobile. Ini sebuah masalah. Pada bulan Januari 2012, kami memiliki Chrome, kami mengaktifkan Firefox untuk mendukungnya. Kami menganonimkan semua data itu. Jadi telepon saya sedang tidur sekarang. Tapi yang lain yang saya rasa juga mengejutkan banyak orang adalah eksekusi yang lebih lambat. Tapi jika Anda memiliki perantara, maka bisa juga pintar memikirkannya.
Sebagian besar klien dalam kebanyakan bahasa, terutama, sebenarnya, klien HTTP default sangat buruk. Gateway melayani tidak tahu. Kita tahu bahwa benda ini bekerja. Jadi mudah-mudahan sekarang saya telah meyakinkan Anda bahwa latensi sebenarnya adalah masalah. Ini benar-benar sebuah pembicaraan tersendiri, tapi tetaplah bersamaku. Hari ini kita melakukan banyak trik menarik, hacks, jika Anda ingin memanggil mereka itu, di browser untuk mencoba dan jenis permainan sistem dan mencari tahu mana permintaan yang kita kirim karena kita memiliki jumlah permintaan yang terbatas, dll. Kami ingin membuat halaman kami dalam satu detik. Kami ingin melestarikan ekosistem dan membuatnya semulus mungkin, idealnya, untuk bermigrasi.
Jika saya mengirim permintaan gambar terlebih dahulu, akankah saya mengembalikannya dengan cepat? Hasil akhir dari semua ini sebenarnya adalah aplikasi yang mudah dan sederhana. Dan khususnya fakta bahwa kami memiliki peluncuran jaringan 4G yang sangat kuat di seluruh Amerika Utara. Kita harus melakukan socket connect. Jika Anda mengklik sebuah tombol, kami ingin menanggapi Anda dalam 100 milidetik. Bagian kinerja TCP menjadi lebih penting dalam banyak hal, jadi Anda pasti harus mengupgrade kernel Linux Anda, pastikan bahwa Anda memiliki jendela TCPU atau kontrol kongesti terbaru. Oh, jaringan seluler sangat tidak dapat diprediksi. Itu baru saja stabil, mana yang tidak bagus. Kita bisa menulis spec, tapi server perlu lebih pintar.
Aliran upgrade HTTP, jika kalian sudah familiar dengan WebSocket. Tapi tentu saja, salah satu gotchas di sini adalah server yang perlu paham tentang hal ini. Mereka adalah dua komponen kecepatan. Satu-satunya alasan yang ada adalah mengatasi keterbatasan ini, yang dikenakan sengaja oleh vendor browser untuk mengatakan bahwa terlalu banyak koneksi benar-benar menyakiti Anda, baiklah, karena ini menyebabkan kemacetan. Setiap tahun, kami benar-benar menggunakan Google Analytics. Dan halaman kami bukan satu permintaan. Sebenarnya, Microsoft telah membangun implementasi server, jadi Chrome dan Firefox melakukan pengujian terhadap server Microsoft.
Itu hanya tahu bahwa umumnya orang ini tampaknya berada di daerah San Francisco. Jadi semua itu seperti gambar sederhana di sini. Seperti, bagaimana jaringan mobile bekerja? Komunikasi dengan menara itu benar-benar memakan waktu dari ratusan milidetik hingga detik. Jadi FCC, selama beberapa tahun terakhir, sebenarnya telah melakukan laporan atau studi tahunan, yang akhirnya mulai menangkap beberapa data ini. Pada dasarnya, batas teoritis adalah 35 milidetik. Ini hanya permintaan baru. Yang agak menyedihkan. Aliran keluar dari perangkat Anda sedikit lebih sederhana.
Tapi kemudian Anda melihat latency. Pada beberapa titik, packet loss of money akan terjadi, pada saat mana kita akan me-restart algoritma ini. Kami ingin mendapatkan performa terbaik dari satu koneksi TCP. Mountain View sebelumnya hari ini. Bagian dari pemikiran, setidaknya sekarang, adalah bahwa CDN benar-benar dapat memberikan dorongan ini. Tidak akan pernah mereka mengiklankan hal seperti itu. Hari ini web pada dasarnya dibangun di atas model ini di sini, yang berurutan, dan satu-satunya pekerjaan kita adalah membuka beberapa koneksi.
Tidak dibatasi, hanya lima megabit per second threshold disini. Jadi, ini adalah data dari tahun 2007 sampai pada dasarnya awal tahun 2013, dan Anda dapat melihat bahwa ada kecenderungan kuat untuk pada dasarnya meningkatkan throughput, atau bandwidth di seluruh dunia. Jadi proyek ini menghabiskan biaya sekitar setengah miliar dolar. Jadi bagian yang sejuk tentang ini, grafik ini sebenarnya membandingkan tahun 2012 sampai 2013. Dua, apakah kita ingin mengatasi pemblokiran garis kepala. Ternyata sebenarnya, sebagian besar, menjelaskan variabilitas yang dialami banyak orang dengan variabilitas latensi tinggi. Kami memiliki 31 bit ruang prioritas untuk itu, jadi Anda bisa sangat canggih jika Anda menginginkannya, bagaimana Anda memprioritaskan hal semacam ini. Dan bandwidth penting untuk hal-hal seperti video Youtube dan video HD, Anda ingin menonton Netflix, apa saja. Jadi mengapa hal ini mempengaruhi HTTP pada khususnya?
Jaringan akan menyelamatkan kita, 4G. Anda mulai dengan satu megabit throughput, dan halaman memuat sekitar tiga detik. Jadi ini adalah masalah besar di ponsel. Optimalisasi kinerja TCP dilakukan sejak saat itu. Dan bagaimana server Anda menerapkan logika kapan kenaikan jendela itu benar-benar terserah Anda. Oh, pengguna ini diserang. Ini hanya menciptakan latensi yang lebih dan lebih. Jadi ketika Anda terhubung ke server, kami akan membuka enam koneksi paralel, yang berarti bahwa kami dapat mengirimkan paling banyak enam permintaan secara paralel, atau mendapatkan enam tanggapan secara paralel. Kita bisa terus meningkatkan bandwidth, tapi latency menjadi masalah. Dibutuhkan beberapa roundtrip untuk melakukan itu, jadi Anda harus memperhatikan ukuran sertifikat Anda, Anda harus mengoptimalkan ukuran rekaman Anda.
Hal itu membuat sangat, sangat efisien untuk mentransfer data meta ini. Kita bisa menyimpannya dengan baik. Jadi kita hanya menambahnya. Kernel Linux telah memperbarui CWND mereka untuk memulai dengan 10 paket. Jadi bentuk TCP sangat, sangat penting. Biarkan aku memandu Anda melalui ini. Lalu yang terakhir, tentu saja, kerumunan favorit, sumber daya inlining.
Ini adalah inti, ini adalah praktik terbaik yang kami khotbahkan bahwa setiap situs harus melakukannya. Kami ingin memiliki satu koneksi TCP, yang memiliki pipa terbuka lebar dan kami bisa mendorong data sebanyak mungkin. Maka Anda benar-benar harus rute itu di jaringan eksternal. Pada jaringan 3G, pada jaringan 3G generasi lama, secara harfiah dibutuhkan beberapa detik untuk melakukan itu. Kami ingin memperbaiki end user yang dirasakan latency. Jaga agar tetap terpisah karena itu akan membantu Anda. Dan semua ini hanya untuk mengirim satu paket TCP saja. Kita harus menunggu sampai keseluruhan file tiba dan baru kemudian kita bisa menjalankan file itu. Nomor itu telah diperbarui.
Tim Chrome dan tim Buat Tim Cepat Web di Google. JavaScript, yang nampaknya konyol. TCP Slow Start secara singkat. Server Anda harus menjaga lebih sedikit koneksi TCP, yang merupakan masalah besar bagi orang-orang yang menjalankan server yang harus menangani banyak koneksi TCP. Ini hanya satu paket TCP untuk mengirim notifikasi. Ini adalah masalah umum dan umum di seluruh web. Pertama-tama, kita memiliki kontrol kongesti TCP dan penghindaran, dan secara khusus kita memiliki fitur ini yang disebut TCP Slow Start.
Jadi ini hanya satu kali biaya startup saat telepon Anda sudah menganggur. Pada dasarnya apa yang terjadi pada 2008, 2009, di Google, kami melihat studi latency dan bandwidth ini. Jadi komponen lain yang sering dilupakan adalah latency. Latency sangat bervariasi. Server perlu menghormati prioritas. Jadi ini adalah keseluruhan pembicaraannya sendiri. Jadi, kami ingin berada di sini. Server dapat interleave frame dan dapat menggunakan satu koneksi TCP untuk menyampaikannya secara paralel. Kita tahu itu, dan kita tahu bahwa latensi penting bagi pedagang di mana hitungan nanodetik.
Ini akan membantu membuat klien kita lebih cepat. Dia memiliki latar belakang teknologi yang luas termasuk pengalaman menjalankan perusahaan internet hosting sendiri. Pertama-tama, satu koneksi TCP. Dan selama masa koneksi, Anda membangun ruang header ini dan pada dasarnya Anda dapat sangat efisien dalam hal Anda mengkodekan dan memecahkan kode hal semacam ini. Kami sebenarnya menambahkan fitur ini yang disebut pipelining. Mereka hanya mencari string di aliran byte dan hanya menukarnya.
Jadi banyak lalu lintas pengguna bermigrasi ke ponsel, sesuatu yang kita lihat di sekop Google. Ini memiliki satu koneksi dan bisa membagi semua permintaan dan tanggapan tersebut ke dalam frame individu. Tapi masalah dengan packet loss of money adalah ketika itu terjadi, kita mengurangi ukuran jendela, jendela kemacetan, dalam banyak kasus, cukup signifikan. Sayangnya, salah satu hal yang belum berhasil adalah pipelining HTTP. Hal pertama yang Anda baca adalah panjang frame, dan pada saat itu, Anda tahu persis apa yang perlu Anda lakukan untuk mengurai ini. Google Analytics mengumpulkan data waktu navigasi, yang pada dasarnya merupakan data waktu pengguna sebenarnya dari klien saat mereka mengakses laman Anda.
Aliran video tidak bisa menyulitkan jaring link saya, tapi saya ingin membatasi jumlah throughput ini. Ada permintaan yang jauh lebih besar untuk hal-hal seperti gambar, namun sebagian besar aset lainnya yang kami unduh sangat kecil, dan kami mendownloadnya di banyak koneksi. TCP dioptimalkan untuk pengiriman data massal dan lama, sedangkan banyak lalu lintas sebenarnya kami pendek dan meledak. Klien membuka beberapa permintaan. Ini masuk ke dalam operator seluler, dan operator seluler pada dasarnya memiliki satu router global, yaitu gateway paket. Jadi ini adalah tujuan tingkat tinggi untuk protokol. Akan ada dukungan komersial untuk hal-hal semacam ini. Ini akan diperbarui di database pengguna, database pengguna kembali ke gateway melayani, melayani gateway kemudian dapat meneruskan paket ke menara yang sebenarnya, menara mengirimkannya ke telepon Anda.
Untuk itu kita punya SPDY. Kami mengirim delapan kilobyte, lalu kami kirim sisanya. Jadi ada banyak hal yang bisa kita lakukan bisa dilakukan di tempat ini. Permintaan itu akan memblokade untuk waktu yang lama, dan dua lainnya juga diblokir. Jadi pertama-tama, salah satu tantangan besar yang kita hadapi di web saat ini adalah membuat barang lebih cepat. Spesifikasi asli sebenarnya mengatakan Anda mengirim satu paket.
Jadi semua ini memerlukan banyak waktu, dan apa yang biasanya terjadi adalah, jika Anda menghitung matematika untuk Arsip HTTP, kembali ke hal asli yang kami lihat. Ini hanya dalam hal header HTTP, yang signifikan. Tapi saklar tidak akan terjadi dalam semalam. Terutama dalam kasus jika Anda memiliki waktu pemrosesan server dan lain-lain. Ada spanduk diplester di mana-mana. Dan yang menarik di sini tentu saja ini: 86 dan 57; jadi 86 permintaan Kami mendapat pengakuan. Kami memiliki klien yang bisa kami rev. Jadi ini telah kami hack dekade ini.
Sebenarnya ada banyak masalah di beberapa lapisan. File CSS atau JavaScript Karena jika tidak, Anda hanya menciptakan pertengkaran yang lebih dan lebih atau lebih banyak pemblokiran. Awalnya di SPDY, kami sebenarnya memulai dengan gzip lurus saja. Kami mengeluarkan waktu pemrosesan server. Ini hanya latency mil terakhir Anda. Akan berakhir, kami memiliki pencarian DNS. File CSS dan hal lainnya. Server perlu lebih pintar. Sebelum kita seperti 2x dibandingkan dengan desktop versus mobile.
Jadi flow control memungkinkan Anda melakukan itu. Karena ternyata kita perlu men-tweak protokol kita agar lebih baik mengatasi masalah ini. Jadi bagaimana kita memilih nomor ini? Jadi ini adalah eksperimen yang sangat sederhana yang kita siapkan. Beberapa peluang dan beberapa hal yang masih sedang berlangsung dan perlu dilakukan, server yang lebih pintar. Jadi ini skenario optimis.
Kami hanya akan melakukan beberapa putaran perjalanan, yang sangat mahal. Hal semacam ini perlu terjadi pada lapisan perutean dan semua lapisan lainnya di dalam sistem. Server dapat melakukan itu dan pertanyaannya adalah bagaimana Anda menegosiasikan ID streaming? Tidak memerlukan banyak koneksi, jadi kita ingin menghilangkan kebutuhan untuk memiliki sharding domain. Membentuk, dengan lebih banyak cara, membantu klien yang memiliki lebih banyak bandwidth, yang merupakan klien desktop Anda, namun menyakitkan orang-orang yang memiliki koneksi lebih lambat, seperti ponsel, karena menyebabkan kemacetan, hal itu menyebabkan lebih banyak transmisi ulang. Itu melanggar protokol dengan cara yang spektakuler.
Jadi efisiensi sebenarnya menjadi perhatian optimasi yang besar disini. Paket TCP kehilangan uang harus terjadi agar TCP bekerja dengan baik. Bandwidth benar-benar penting di sana, dan kabar baiknya adalah kita sebenarnya bisa mendapatkan lebih banyak bandwidth. Misalnya, implementasi nGenx saat ini tidak menghormati prioritas. Video Anda akan streaming lebih baik. Barang semakin cepat.
Jadi inilah grafiknya disini. Jadi waktu buka halaman disini adalah dalam milidetik. Jadi, berakhirnya koneksi TCP Anda di PGW, dan PGW benar-benar melihat sekumpulan aturan, seperti, haruskah saya meneruskan situs lalu lintas dan lain-lain. Jadi saya bekerja di Google seperti kata slide. Infrastruktur ini akan dibangun. Anda bisa melihat bahwa pada tahun 2013, latensi, terutama di ponsel, telah menurun secara signifikan. Itu memberitahu Anda kira-kira jumlah koneksi yang kita buka. Ini sangat penting bagi saya, jadi layani ini dengan prioritas lebih tinggi daripada gambar yang saya kirim sebelumnya.
Jadi jika kita membangun kabel yang lebih pendek, secara harfiah ada banyak kabel di sana, tapi jika kita mengambil rute yang sedikit lebih langsung antara kota-kota ini, yang jaraknya 300 mil lebih pendek, maka kita bisa menghemat sekitar lima milidetik latency. Klien HTTP di masa lalu Kami ingin membuat segalanya cepat. Jadi pada dasarnya pada titik itu menjadi standar de facto dan kami katakan, lihat, harus ada spesifikasi yang lebih formal seputar ini. Ada beberapa kejadian, laporan pada saat itu, ketika kemacetan kongesti ini tercapai bahwa beberapa paket benar-benar akan memakan waktu satu hari untuk sampai ke lawan bicara di ujung sana. Performa web, dipecahkan kesepakatan. Tapi bagian dunia lainnya pada dasarnya datar. Karena Anda dapat memiliki kasus patologis, atau Anda dapat memiliki file gambar yang membutuhkan waktu lama untuk menghasilkan, seperti satu menit, dan kemudian semua permintaan Anda ditumpuk di belakangnya. Apakah router mendengarkan ini atau hanya server?
Kami memiliki batasan pada lapisan TCP. Lalu ada download konten yang sebenarnya. Alangkah baiknya jika kita bisa mendapatkannya dengan cepat, tapi saya harus bisa menampilkan teks terlebih dahulu. Jadi jika Anda memiliki data yang lebih besar dari 16 kilobyte, Anda hanya akan membaginya di beberapa frame data. Jadi, misalnya, Akamai memiliki situs yang bagus, Akamai IO, di mana Anda pada dasarnya bisa masuk dan mengetikkan negara mana pun dan melihat rata-rata bandwidth, setidaknya seperti yang dilihat oleh Akamai. Data Google, tapi teori kami, dan saya pikir kami memiliki alasan bagus untuk percaya bahwa inilah sebabnya mengapa ini benar, adalah bahwa ini didominasi oleh Amerika Utara. Pada awalnya, pada dasarnya kami memilih draf SPDY terbaru dan menggunakannya sebagai basis. Ini akan membantu membuat layanan lebih efisien, dan sebenarnya mengurangi latensi bagi banyak pengguna. Sehingga Anda bisa mengoptimalkannya, Anda bisa mendapatkan bandwidth terbaik dan Anda juga bisa mendapatkan throughput terbaik.
Anda mengirim permintaan satu. Jadi mari kita memvariasikan kedua hal ini secara mandiri. LT Advanced, yang merupakan 4G sejati, jika Anda mau. Lalu ada CSS dan HTML. Kontrol aliran agak menarik. Halaman HTML, dan Anda benar-benar harus membagi bundel JavaScript Anda, bukan? Jadi kita kirim empat kilobyte. Lalu aku mendapatkannya kembali. Tapi sebenarnya Anda bisa membuka arus dari kedua ujungnya.
Sehingga menyebalkan, dan itu menyebalkan karena kita sudah berada dalam faktor konstan kecil dengan kecepatan maksimal. Kirim ke server. Anda bisa melakukan apapun yang perlu Anda lakukan untuk menghasilkan ketiga tanggapan tersebut, dan kemudian Anda kirimkan data kami untuk tiga tanggapan. Ternyata bahwa halaman rata-rata akhirnya berbicara dengan sekitar 15 host yang berbeda di web saat ini, yang cukup besar. Jadi semua ini mengatakan bahwa kita akan terus melihat peningkatan bandwidth. Dalam prakteknya, inilah yang akhirnya terjadi sangat sering.
Kita bisa melakukan kabel yang lebih pendek antara dua titik akhir. Kami naik ke jendela, seperti, 45 kilobyte, atau 60 kilobyte, dan kami berhenti di situ. Bagaimana kita mengatasinya pada tingkat protokol? Dan ini ternyata menjadi tantangan besar di seluler, di mana hanya mengirim satu permintaan dapat dilakukan di suatu tempat dalam urutan detik. Kami memiliki banyak situs besar. Ini akan menghasilkan pengiriman lebih cepat.
ISP, pada dasarnya adalah POP box di ISP. Bagaimana cara anda menentukan itu? Kita harus melakukan permintaan HTTP. Kita bisa menjaga kodenya modular.
Tidak ada komentar:
Posting Komentar
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.