Tôi đã phát triển một máy chủ C# trên cả Visual Studio 2010 và Mono Develop 2.8. NET Framework 4.0Vấn đề khả năng mở rộng máy chủ C# trên linux
Dường như máy chủ này hoạt động tốt hơn nhiều (về khả năng mở rộng) trên Windows so với trên Linux. Tôi đã thử nghiệm khả năng mở rộng máy chủ trên Windows nguyên bản (12 lõi vật lý), và 8 và 12 lõi Windows và Ubuntu Virtual Machines bằng cách sử dụng công cụ ab của Apache.
Thời gian phản hồi của cửa sổ khá phẳng. Nó bắt đầu chọn khi mức đồng thời tiếp cận/vượt qua số lượng lõi.
Vì lý do nào đó, thời gian phản hồi của Linux kém hơn nhiều. Họ phát triển khá nhiều tuyến tính bắt đầu từ cấp 5 đồng thời. Ngoài ra 8 và 12 lõi Linux VM hành xử tương tự.
Vì vậy, câu hỏi của tôi là: tại sao nó hoạt động kém hơn trên Linux? (và Làm cách nào tôi có thể khắc phục điều đó?).
Hãy xem biểu đồ đính kèm, nó hiển thị thời gian trung bình để đáp ứng 75% yêu cầu làm hàm đồng thời yêu cầu (thanh phạm vi được đặt ở 50% và 100%).
Tôi có cảm giác rằng điều này có thể do Bộ sưu tập rác của mono. Tôi đã thử chơi xung quanh với các thiết lập GC nhưng tôi đã không thành công. Bất kỳ đề xuất nào?
Một số thông tin cơ bản bổ sung: máy chủ dựa trên trình nghe HTTP nhanh chóng phân tích cú pháp các yêu cầu và xếp hàng chúng trên một nhóm luồng. Hồ bơi thread sẽ trả lời những yêu cầu đó với một số toán học chuyên sâu (tính toán câu trả lời trong ~ 10 giây).
"Máy chủ C#" là gì? Điều đó khác với máy chủ? Ý tôi là, trong tiêu đề của bạn, "C#" có được sử dụng như một tính từ? Là một "C# máy chủ" một loại máy chủ? –
> một số toán chuyên sâu (tính toán câu trả lời trong ~ 10 giây). Tôi nghĩ rằng vấn đề của bạn là có .. Nó không phải là kịch bản điển hình cho một máy chủ. Có bao nhiêu lõi mà phần cứng vật lý của bạn có, 12? Biểu đồ trông như thế nào sau 10 yêu cầu đồng thời? – Soonts
Như tôi biết, mono không phù hợp cho những mục đích sử dụng này. Sự phát triển của mono được tập trung vào các ứng dụng máy tính để bàn nhỏ. Tôi nhận được thông tin này từ một nhà phát triển mono, tôi sẽ cố gắng tìm thêm thông tin và sẽ đăng ở đây nếu tôi tìm thấy. – LawfulHacker