Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana Nginx menggabungkan permintaan sambungan dan mempercepatkan akses laman web
Petua
Apabila kita menyemak imbas web, terdapat faktor penting yang mempengaruhi kelajuan penyemakan imbas, iaitu bilangan penyemak imbas serentak. Secara ringkasnya, bilangan concurrency merujuk kepada bilangan tugas serentak semasa menyemak imbas halaman web.
Sudah tentu, had pelayar pada bilangan permintaan serentak adalah untuk nama domain yang sama Terdapat had tertentu pada bilangan permintaan di bawah nama domain yang sama pada masa yang sama akan disekat.
Pertama, mari kita lihat bilangan sambungan serentak bagi setiap penyemak imbas:
Senaraikan perkara yang mungkin dipertimbangkan oleh penyemak imbas dalam membuat keputusan ini
Disebabkan oleh batasan protokol tcp, terdapat hanya 65536 port pada bahagian PC yang boleh digunakan untuk menghantar sambungan ke luar Sistem pengendalian juga mengehadkan bilangan sambungan separuh terbuka untuk dilindungi protokol tcpip sistem pengendalian sumber daripada cepat habis Oleh itu, Penyemak imbas tidak pandai mengeluarkan terlalu banyak sambungan TCP Sebaliknya, ia menggunakan kaedah menggunakan semula sambungan TCP selepas menggunakannya atau hanya mewujudkan semula sambungan TCP.
Jika model soket penyekat digunakan untuk mewujudkan sambungan, mengeluarkan berbilang sambungan pada masa yang sama akan menyebabkan penyemak imbas perlu membuka beberapa lagi urutan dan benang mempunyai Masa bukan sumber yang ringan Lagipun, kos suis konteks bukanlah kecil.
Ini ialah penyemak imbas yang bertindak sebagai pelanggan yang teliti melindungi pelayan. Sama seperti mekanisme pengesanan konflik Ethernet, pelanggan mesti memutuskan sendiri tempoh menunggu apabila menggunakan sumber awam. Apabila lebih daripada 2 pelanggan ingin menggunakan sumber awam, pelanggan jahat yang kuat boleh menyebabkan pelanggan yang lemah tidak dapat mengakses sumber awam sepenuhnya. Pada masa lalu, Xunlei telah dikritik kerana ia bukan pelanggan yang teliti Sebagai pelanggan protokol http, ia tidak menganggap tekanan pada pelayan Sebagai pelanggan bt, ia tidak mempertimbangkan kewajipannya untuk membayar balik jumlah muat naik.
Taobao tengine
Apabila kami melawati beberapa tapak web, kami akan melihat bahawa beberapa fail js dan css dalam kod itu dihantar melalui Diperolehi dalam satu permintaan Daripada pengetahuan di atas, kami tahu bahawa bilangan permintaan penyemak imbas serentak adalah terhad, tetapi jika berbilang rekod digabungkan menjadi satu permintaan, kelajuan tindak balas boleh dipercepatkan.
Tengine yang digunakan oleh Taobao ialah pelayan web berdasarkan nginx, yang telah menjadi sumber terbuka sejak akhir tahun 2011. Modul sumber terbuka nginx-http-concat boleh menggabungkan berbilang fail menjadi satu mesej respons.
Pemasangan
Pemasangan kali pertama modul pihak ketiga nginx-http-concat
wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -o nginx-http-concat-master.zip unzip nginx-http-concat-master.zip tar -xzvf tengine-2.2.0.tar.gz cd tengine-2.2.0
Konfigurasi, penyusunan dan pemasangan
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make make install
Jika nginx telah dipasang, hanya konfigurasikan pemalam pihak ketiga. nginx -v, semak versi nginx, jika tidak, muat turun versi yang sepadan.
Hanya laksanakan kod.
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make
Selepas kompilasi berjaya,
#复制之前请备份nginx执行文件 cp /objs/nginx /usr/local/nginx/sbin/nginx
matikan nginx dan mulakan semula.
Konfigurasi
Tambah konfigurasi berikut dalam bahagian lokasi:
location /static/css/ { concat on; concat_max_files 20; concat_unique off; concat_types text/css application/javascript; }
Kaedah gabungan
http://static.52itstyle.com/static/css/??index.css,common.css?v=20171111
Atas ialah kandungan terperinci Bagaimana Nginx menggabungkan permintaan sambungan dan mempercepatkan akses laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!