Nói chung, hệ thống sẽ cố gắng thực hiện điều này, để tối đa hóa việc sử dụng CPU. Tuy nhiên nếu bạn muốn nhắm mục tiêu một CPU cụ thể, bạn nên kiểm tra TaskSet. Nó đặt mối quan hệ của quá trình.
Ngoài ra còn có một số câu hỏi hữu ích thảo luận cùng một chủ đề. Có một cái nhìn.
Upstart: each process on different core Nodejs
Node.js - targeting a cpu core
Node.js on multi-core machines
In AmazonEC2 cpu core and nodejs
How to deploy Node.js in cloud for high availability using multi-core
Multi node modlue to utilize cpu
Ngoài ra còn có một mô-đun, Cluster, mà cũng có thể rất hữu ích cho việc sử dụng CPU. Nó cho phép bạn chia rẽ nhiều quy trình để phân phối tải tới nhiều lõi.
CẬP NHẬT
Cuối cùng, tôi đã triển khai một cái gì đó tương tự theo OP.
Trường hợp 1.
- Tôi có một sever chuyên dụng với 8 lõi của CPU.
- Tôi đã triển khai một chuỗi nút duy nhất và sử dụng mô-đun Cụm để chia sẻ tải công việc (Như được mô tả bởi pl47ypus PS: cảm ơn câu trả lời của anh ấy).
- Kết quả là tốt, nhưng một số lần các chủ đề con có thể trở nên không phản hồi, Vì vậy, tôi đã quyết định thử quá trình cũ, mà tôi đã sử dụng trong ứng dụng trước đây của tôi.
Trường hợp 2.
- Cùng máy chủ, tôi đã triển khai 8 quy trình Node.js với cổng khác nhau.
- Sau đó, tôi đặt nginx trước mặt, lắng nghe cổng 80 với quy trình công nhân 8.
- Kết quả tốt nhất so với trường hợp 1 và cũng rất dễ cấu hình nginx, ổn định nhất.
Tôi cũng khuyên bạn chỉ nên thử một số giải pháp được đề cập và tiếp tục theo dõi hệ thống của bạn trong từng trường hợp; như CPU, sử dụng bộ nhớ và io. Cuối cùng, từ các thử nghiệm của bạn, bạn sẽ thấy giải pháp tốt nhất cho trường hợp sử dụng của bạn. Mỗi ứng dụng đều có các yêu cầu riêng, vì vậy tốt hơn hết là nên thử và tìm thấy những gì các ứng dụng của bạn thực sự cần.
Nguồn
2013-07-30 14:48:30
bạn pls thể thêm một số chi tiết của kịch bản mà bạn muốn đạt được? –
@VivekBajpai Tôi có 4 máy chủ nodejs chạy mãi mãi, vào những thời điểm cao nhất mà mỗi người có thể gặp phải tải nặng, tôi nghĩ rằng việc họ cài đặt từng lõi của họ sẽ giúp ích vào thời gian cao điểm. – GameDevGuru
Bạn có đang chạy nó bên trong một máy chủ ảo như EC2 hay các máy chủ chuyên dụng không? –