Bagaimana Nginx menggabungkan permintaan sambungan dan mempercepatkan akses laman web

王林
Lepaskan: 2023-05-15 10:16:18
ke hadapan
768 orang telah melayarinya

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:

Bagaimana Nginx menggabungkan permintaan sambungan dan mempercepatkan akses laman web

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Selepas kompilasi berjaya,

#复制之前请备份nginx执行文件
cp /objs/nginx /usr/local/nginx/sbin/nginx
Salin selepas log masuk

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;
}
Salin selepas log masuk

Kaedah gabungan

http://static.52itstyle.com/static/css/??index.css,common.css?v=20171111
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!