Điều chỉnh hiệu suất mạng Windows 7 cho LAN


8

Tôi muốn điều chỉnh ngăn xếp Windows 7 TCP cho tốc độ trong môi trường LAN.

Thông tin cơ bản: Tôi đã cài đặt Citrix XenServer với Windows 2008R2, Windows 7 và Debian Lenny với kernel Citrix, các máy Windows có Công cụ cài đặt iperfquy trình máy chủ đang chạy trên máy chủ khác, cũng là Debian Lenny. Các máy chủ không hoạt động, các thử nghiệm được lặp lại vài lần để xác nhận kết quả.

Mặc dù thử nghiệm với iperf2008R2 có thể đạt được khoảng 600-700Mb / giây mà không cần điều chỉnh bao giờ nhưng tôi không thể tìm thấy bất kỳ hướng dẫn hoặc bộ tham số nào sẽ khiến Windows 7 đạt được mọi thứ trên 150Mbps mà không thay đổi kích thước cửa sổ TCP bằng cách sử dụng -wtham số iperf.

Tôi đã cố gắng sử dụng netsh autotuiningđể disabled, experimental, normalhighlyrestricted- không có sự thay đổi. Thay đổi congestionproviderkhông làm gì cả, cũng như rsschimney.

Đặt tất cả các cài đặt khả dụng thành các giá trị giống như trên máy chủ Windows 2008R2 không có ích.

Để tóm tắt:

  • Cài đặt mặc định của Windows 2008R2: 600-700Mbps
  • Debian, cài đặt mặc định: 600Mbps
  • Cài đặt mặc định của Windows 7: 120Mbps
  • Mặc định Windows 7 , iperf -w 65536: 400-500Mbps

Mặc dù hiệu năng 400Mbps bị thiếu, tôi đổ lỗi cho Realtek NIC đáng sợ trong máy chủ XenServer (tôi có thể thực hiện ~ 980Mbps từ máy tính xách tay của mình đến máy chủ iperf), điều đó không giải thích tại sao Windows 7 không thể đạt được hiệu suất tốt mà không điều chỉnh kích thước cửa sổ theo cách thủ công tại mức độ ứng dụng.

Vậy, làm thế nào để điều chỉnh Windows 7?

Câu trả lời:



2

Nó có thể là trình điều khiển mạng khác nhau trong Windows 2008R2 so với Windows 7. Ngoài ra, xenserver có luôn cung cấp cùng một nic ảo cho Windows 2008R2 và Windows 7 không? Bởi vì nếu nó khác thì một trình điều khiển khác sẽ được tải.

Có thể có một số khác biệt hiệu suất.

EDIT: Tôi chỉ nhớ rằng windows 7 theo mặc định có bộ đệm gửi / nhận rất nhỏ. Trong một số ứng dụng tôi đang phát triển tôi thấy rằng dưới windows 7, nó là thứ gì đó thảm hại như 8kB. Trong Ubuntu Ubuntu, nó khoảng 120kB. Bạn có thể đọc ở đâu đó rằng giới hạn là 64kB. Điều này thực sự không chính xác cho các phiên bản sau của windows. Tôi đã tìm thấy nó có thể được đặt ở mức cao nhất là 1MB và hơn thế nữa. Mặc dù hiệu suất tăng ít sẽ được chú ý khi nó lớn như vậy.

Liên kết này cung cấp một số tham số điều chỉnh tcp trong sổ đăng ký áp dụng toàn hệ thống. Xin lưu ý rằng nhiều tùy chọn trong số đó có thể bị ghi đè bởi chính các ứng dụng.

http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

Hãy thử tăng kích thước cửa sổ và gửi / nhận bộ đệm. Hy vọng rằng các cài đặt đăng ký trong liên kết vẫn được áp dụng trong windows 7.


Vậy thì tại sao nếu tôi đặt cửa sổ TCP lớn hơn thì tốc độ sẽ tăng? Và không, XenServer không thay đổi NIC được trình bày.
Hubert Kario

Tôi chỉ giải quyết rằng đây có thể là một lý do. Tôi là một nhà phát triển và tôi tình cờ đang phát triển một ứng dụng đẩy vô số dữ liệu với tốc độ gần gigabit. Tuy nhiên, phát triển trên hộp ảo tôi phát hiện ra sự khác biệt về hiệu năng với các trình điều khiển nic khác nhau. Có, tăng cửa sổ TCP sẽ tăng thông lượng vì sẽ có ít gói trả về ack hơn. Bạn đã tắt tất cả các VM khác trong Xen để đảm bảo rằng các cửa sổ là người duy nhất sử dụng nó chưa?
Matt

Việc sử dụng mạng thông thường của tôi trên máy chủ Xen là dưới 60-90KiB / s. Và kiểm tra trình điều khiển, nó tải cùng một. Một lưu ý phụ, Xen và Virtualbox là hai trình ảo hóa hoàn toàn khác nhau, một là loại 1, thứ hai là loại 2. Bên cạnh đó, tôi đã thấy các vấn đề hiệu năng tương tự với các bản cài đặt kim loại trần. Tôi chủ yếu đề cập đến ảo hóa để loại trừ các vấn đề phần cứng.
Hubert Kario

Tôi chỉ nhớ một cái gì đó. Chi tiết trong câu trả lời chính.
Matt


1

TCP Autotuning (mà bạn đã loại trừ), MTU đã được xử lý và MMCS (Lập lịch lớp đa phương tiện) thường là những khác biệt lớn. Vì MMCS chưa được xử lý, hãy cố gắng vô hiệu hóa nó.

Đảm bảo rằng tính năng tự động hóa cửa sổ tcp của bạn bị tắt nếu bạn đang ở hoặc gần tốc độ mạng LAN.

Hướng dẫn có sẵn tại đây: http://smallvoid.com/article/winnt-service-mmcss.html


Tôi không chắc là tôi đã thay đổi nó chưa (vì đã hơn 6 tháng kể từ đó) nhưng có vẻ đầy hứa hẹn, tôi sẽ thử vào ngày mai.
Hubert Kario

Không giúp được gì nhiều, làm cho hiệu suất tốt hơn khoảng 10-20%.
Hubert Kario

0

Bạn không nên xem trình điều khiển Realtek bên trong Windows dưới dạng máy ảo trên Citrix XenServer. Nếu bạn làm như vậy, điều đó có nghĩa là bạn chưa cài đặt XenTools. Realtek NIC mà bạn thấy, là một mô phỏng được cung cấp bởi dịch vụ QEMU bên trong Dom 0 (tên miền 0). Sau khi cài đặt HĐH Windows, trước khi bạn làm bất cứ điều gì khác, đặc biệt là cài đặt ứng dụng, bạn cần cài đặt XenTools. Ngoài ra, tốc độ được mã hóa cứng sau khi XenTools được cài đặt (Như đã lưu ý trong Hướng dẫn sử dụng VM), vì không có giới hạn về tốc độ trên thiết bị ảo.


1
từ câu hỏi mở đầu: "Realtek NIC trong máy chủ XenServer "
Hubert Kario
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.