ฉันได้อ่านเกี่ยวกับปัญหา C10K แล้วและโดยเฉพาะอย่างยิ่งบันทึกย่อนั้นเป็นส่วนที่อ้างอิงถึงเซิร์ฟเวอร์ I / O อะซิงโครนัส http://www.kegel.com/c10k.html#aio
ฉันเชื่อว่าสิ่งนี้จะสรุปสิ่งที่ Node.js ทำบนเซิร์ฟเวอร์โดยอนุญาตให้เธรดประมวลผลคำขอของผู้ใช้ในขณะที่พึ่งพา I / O อินเตอร์รัปต์ (เหตุการณ์) เพื่อแจ้งเตือนเธรดงานที่เสร็จสมบูรณ์แทนที่จะให้เธรดรับผิดชอบ งาน CPU แบบเต็ม เธรดสามารถดำเนินการกับสิ่งอื่น ๆ (ไม่ปิดกั้น) และได้รับแจ้งเมื่องานเสร็จ (เช่นพบไฟล์หรือบีบอัดวิดีโอ)
ซึ่งหมายความว่าเธรดจะมีซ็อคเก็ต 'พร้อมใช้งาน' มากขึ้นและสำหรับผู้ใช้บนเซิร์ฟเวอร์
จากนั้นฉันก็พบสิ่งนี้: http://teddziuba.com/2011/10/straight-talk-on-event-loops.html
ผู้เขียนอ้างว่าถึงแม้ว่าเฟรมเวิร์กที่ขับเคลื่อนด้วยเหตุการณ์ (เธรดที่ขัดจังหวะ) อาจทำให้เธรดว่าง แต่จริงๆแล้วมันไม่ได้ลดปริมาณงานที่ CPU ต้องทำ! เหตุผลที่นี่คือถ้าหากผู้ใช้ร้องขอให้บีบอัดวิดีโอที่พวกเขาอัปโหลด CPU จะต้องทำงานจริงและจะบล็อกในขณะที่มันทำ (เพื่อประโยชน์ของความเรียบง่ายให้ลืมเรื่องขนานที่นี่ - เว้นแต่คุณ รู้ดีกว่า!)
ฉันเป็น coder ที่ตรงไปตรงมาไม่ใช่ผู้ดูแลเซิร์ฟเวอร์หรืออะไรแบบนั้น ฉันแค่สนใจที่จะรู้ว่า: Node.js เป็นของขวัญจากเทพเจ้าแห่ง 'คลาวด์คอมพิวติ้ง' หรือเป็นอากาศร้อนและไม่ช่วยประหยัดเวลาและ / หรือเงินของ บริษัท โดยการปรับปรุงความสามารถในการขยาย
ขอบคุณมาก.