2008-08-06 45 views
8

Thảo luận về Dual vs. Quadcore cũ như Quadcores và câu trả lời thường là "nó phụ thuộc vào kịch bản của bạn". Vì vậy, ở đây kịch bản là một Web Server (Windows 2003 (không chắc chắn nếu x32 hoặc x64), 4 GB RAM, IIS, ASP.net 3.0).Hơn so với lõi nhanh hơn trên máy chủ web

Ấn tượng của tôi là CPU trong máy chủ web không cần nhanh vì yêu cầu thường khá nhẹ, vì vậy có nhiều lõi (chậm hơn) phải là lựa chọn tốt hơn vì chúng tôi nhận được nhiều yêu cầu nhỏ.

Nhưng kể từ khi tôi không có nhiều kinh nghiệm với cân bằng tải IIS và vì tôi không muốn chi tiêu nhiều tiền chỉ để tìm ra tôi đã chọn sai, ai đó có thể có một chút kinh nghiệm bình luận về việc có hay không Chậm hơn hoặc ít hơn lõi nhanh hơn thì tốt hơn?

Trả lời

15

Đối với một cái gì đó như máy chủ web, việc chia các nhiệm vụ xử lý từng kết nối là (tương đối) dễ dàng. Tôi nói rằng nó an toàn để nói rằng các máy chủ web là một trong những phổ biến nhất (và ủi ra) sử dụng mã song song. Và vì bạn có thể phân chia nhiều phần xử lý thành nhiều chủ đề rời rạc, nhiều lõi thực sự sẽ mang lại lợi ích cho bạn. Đây là một trong những lý do chính khiến chia sẻ lưu trữ thậm chí còn có thể. Nếu phần mềm máy chủ như IIS và Apache không thể chạy các yêu cầu song song nó có nghĩa là mọi yêu cầu trang sẽ phải được loại bỏ trong một thời trang xếp hàng ... có khả năng làm cho thời gian tải không thể chịu được chậm.

Đây cũng là lý do tại sao các hệ điều hành máy chủ cao cấp như Windows 2008 Server Enterprise hỗ trợ một số thứ như 64 lõi và 2TB RAM. Đây là những ứng dụng thực sự có thể tận dụng được nhiều lõi đó.

Ngoài ra, vì mỗi yêu cầu có thể có tải CPU thấp, bạn có thể có thể (đối với một số ứng dụng) lấy đi với các lõi chậm hơn. Nhưng rõ ràng là có mỗi lõi nhanh hơn có thể có nghĩa là có thể làm cho mỗi công việc được thực hiện nhanh hơn và, theo lý thuyết, xử lý nhiều nhiệm vụ hơn và nhiều yêu cầu máy chủ hơn.

1

Càng nhiều càng tốt. Khi các ngôn ngữ lập trình bắt đầu trở nên phức tạp và trừu tượng hơn, sức mạnh xử lý càng cần thiết.

Atleat Jeff tin Quadcore is better.

3

Chúng tôi sử dụng apache trên Linux, cung cấp một quy trình xử lý các yêu cầu. Chúng tôi đã tìm thấy rằng nhiều lõi hơn giúp thông lượng của chúng tôi, vì chúng làm giảm độ trễ của các quy trình đang chờ để được đặt trên hàng đợi chạy. Tôi không có nhiều kinh nghiệm với IIS, nhưng tôi tưởng tượng cùng một kịch bản được áp dụng với nhóm luồng của nó.

3

Mark Harrison nói:

Tôi không có nhiều kinh nghiệm với IIS, nhưng tôi giả sử tình huống này cũng áp dụng với hồ bơi thread của nó.

Thật vậy - nhiều lõi hơn = nhiều chuỗi chạy đồng thời. IIS vốn đã đa luồng, và tận dụng lợi thế này.

Các vấn đề liên quan