PHP için beklerken nginx işçisi Thread engelliyor mu?


0

İstemciden veri beklerken ya da çıktı arabelleği doluyken, nginx çalışan iş parçacığı diğer bağlantıları kaldırabilir gibi görünüyor:

https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/

Fakat PHP'nin çıktı oluşturmasını beklerken diğer bağlantıları ele alıyorlar mı?

Nginx'in dahili olarak nasıl çalıştığına dair başka bir belge var mı?


Eh, hemen hemen tüm ağ uygulamaları için, her istek / yanıt çifti kendi iş parçacığını temsil eder (ya da mevcut işlem içinde yeni bir iş parçacığı çalıştırmak yerine bir işlemi çatallar), bu nedenle evet, diğer iş parçacıkları yanıtları için çıktı verirken diğer iş parçacıkları farklı bir durumdadır (belki cevap alıyor, belki cevap gönderiyoruz, vb.).
Frank Thomas

PHP'nin çıktı üretmesini isteyen aynı iş parçacığı bu arada başka bağlantılar da yapabilir mi?
wutzebaer

hayır, her yeni istek, özellikle bu istek ve ilgili yanıtı için yeni bir iş parçacığı oluşturur (ya da NginX yaklaşımına inandığımı düşündüğüm süreç) ve önceki yanıtı oluştururken aynı zamanda uygular. CPU'lar talimatların işleyişini yürütür, böylece bir iş parçacığı her seferinde yalnızca bir şeyi yapabilir. İşlemler, farklı CPU / çekirdeklerde paralel olarak çalışan çoklu iş parçacıklarından oluşabilir, ancak her iş parçacığı bir seferde tam olarak bir şey yapıyor. Ne zaman işler paralel olarak yapılsa, birden fazla iş parçacığı ya da birden fazla işlem (ya da her ikisi) vardır.
Frank Thomas

mh nginx hakkında okudun mu? nginx ana özelliği tek bir iş parçacığı ile birden isteklerini ele almaktır
wutzebaer

var olan hiçbir işlemci bunu yapamaz. bir şeyi yanlış anlıyorsun.
Frank Thomas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.