ผู้ปฏิบัติงาน nginx ปิดกั้น Thread ขณะรอ PHP หรือไม่


0

ดูเหมือนว่าเธรดของผู้ปฏิบัติงาน nginx สามารถจัดการการเชื่อมต่ออื่น ๆ ในขณะที่รอข้อมูลจากไคลเอ็นต์หรือในขณะที่บัฟเฟอร์เอาต์พุตเต็ม

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

แต่พวกเขาจัดการการเชื่อมต่ออื่น ๆ ขณะที่รอ PHP เพื่อสร้างผลลัพธ์

มีเอกสารอื่นเพิ่มเติมอีกหรือไม่ว่า nginx ทำงานภายในอย่างไร


สำหรับแอปเครือข่ายทั้งหมดค่อนข้างมากคู่ขอ / ตอบสนองแต่ละคู่แสดงเธรดของตนเอง (หรือแยกกระบวนการแทนการรันเธรดใหม่ภายในกระบวนการที่มีอยู่) ดังนั้นใช่หลายเธรดสามารถแสดงผลลัพธ์สำหรับการตอบสนองในขณะที่เธรดอื่น อยู่ในสถานะที่แตกต่าง (อาจจะได้รับอาจจะส่งคำตอบ ฯลฯ )
Frank Thomas

หมายความว่าเธรดเดียวกันซึ่งได้ร้องขอให้ PHP สร้างเอาต์พุตสามารถทำการเชื่อมต่ออื่น ๆ
wutzebaer

ไม่คำขอใหม่แต่ละรายการจะสร้างเธรดใหม่ (หรือกระบวนการแยกซึ่งฉันเชื่อว่าเป็นแนวทาง NginX) โดยเฉพาะสำหรับคำขอนั้นและการตอบกลับที่เกี่ยวข้องและจะเรียกใช้พร้อมกันในเวลาเดียวกันที่การตอบสนองก่อนหน้านี้ถูกสร้าง ซีพียูรันคำสั่งเธรดดังนั้นเธรดสามารถทำสิ่งเดียวได้ครั้งละอย่างแน่นอน กระบวนการอาจประกอบด้วยหลายเธรดที่ทำงานพร้อมกันบนซีพียู / คอร์ที่แตกต่างกัน แต่แต่ละเธรดกำลังทำสิ่งเดียวในแต่ละครั้ง เมื่อใดก็ตามที่ทำสิ่งต่าง ๆ ในแบบขนานมีหลายเธรดหรือหลายกระบวนการ (หรือทั้งสองอย่าง)
Frank Thomas

mh คุณอ่านเรื่อง nginx แล้วหรือยัง? คุณสมบัติหลักของ nginx คือการจัดการคำขอหลายรายการด้วยเธรดเดียว
wutzebaer

CPU ที่ไม่มีอยู่จริงสามารถทำได้ คุณเข้าใจผิดบางอย่าง
Frank Thomas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.