İ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