Chúng tôi có một liên kết Internet 1Gbps (lên/xuống) đang hoạt động và tôi nhận thấy hiệu suất rất tệ khi liên lạc với các máy chủ của chúng tôi trong Đám mây. Thật tệ, ý tôi là, trong số 1000Mbps lý thuyết, chúng tôi đã đạt được tốc độ 30Mbps hàng đầu. Sau các phiên chẩn đoán dài, chúng tôi nhận ra rằng chúng tôi gặp sự cố về hiệu suất mạng khi nhận dữ liệu từ các máy Windows Server của mình. Thật kỳ lạ, chúng tôi nhận được tốc độ khá tốt khi máy chủ là máy ảo Linux (tôi đã phải thực hiện một số điều chỉnh để cho phép cửa sổ tắc nghẽn TCP lớn hơn - các thay đổi chính xác được liệt kê bên dưới).
Trong quá trình điều tra, tôi đã loại bỏ ngày càng nhiều yếu tố để giảm vấn đề về dạng đơn giản nhất. Máy tính xách tay thử nghiệm của tôi hiện được kết nối trực tiếp với modem mà không có bất kỳ phần mềm nào có thể can thiệp vào hiệu suất mạng. Tương tự đối với máy ảo thử nghiệm của tôi trên đám mây (3 nhà cung cấp hàng đầu). Tôi đã sử dụng iperf để đánh giá tốc độ truyền tải. Vì tôi đã loại bỏ tường lửa ra khỏi phương trình nên kết quả rất khác và chúng tôi có thể nhận được hàng trăm Mb/giây, nhưng tôi vẫn không thể hiểu được những điều sau:
Máy ảo Linux trên đám mây gửi dữ liệu tới máy tính xách tay : Tôi đã đạt tốc độ trung bình 640Mbps trong 60 giây trong lần thử nghiệm gần đây nhất (giây thấp nhất trong thử nghiệm này là 530Mbps)
Windows VM trên đám mây gửi dữ liệu đến máy tính xách tay: đôi khi nó bắt đầu ở tốc độ 400Mb/giây và thậm chí có thể đạt tới 500Mb/giây trong thời gian ngắn, nhưng khoảng 90% trường hợp nó bắt đầu ở khoảng 60Mb/giây trong giây đầu tiên, sau đó giảm xuống 30Mb/giây, sau đó từ từ leo trèo. Nếu tôi để thử nghiệm trong 60 giây, nó sẽ đạt tốc độ khoảng 400Mb / giây sau hơn 20 giây nhưng tốc độ truyền kém ổn định hơn nhiều so với Linux (nó cũng có vẻ chậm hơn về tổng thể nhưng hiện tại rất khó để đánh giá ).
Thông tin thêm
- Máy tính xách tay (máy khách trong quá trình truyền dữ liệu) là PC Windows
- Khi máy tính xách tay đóng vai trò là máy chủ (tải lên), tốc độ sẽ tốt cho dù cấu hình là gì (đích đến có thể là Linux, Windows, tường lửa doanh nghiệp tại chỗ cũng không thay đổi bất cứ điều gì)
- Tôi đã chơi với các cài đặt của máy ảo Windows (bộ điều hợp và TCP) theo mọi cách có thể tưởng tượng được mà không có bất kỳ tác động nào đến sự cố. Mức tăng duy nhất khi kết nối máy tính xách tay trực tiếp với modem tại nơi làm việc (khi đó tôi sẽ tăng từ khoảng 10Mb/giây lên 30-400Mb/giây tùy thuộc vào loại thử nghiệm).
- Tôi đã sử dụng iperf3 để thực hiện tất cả các điểm chuẩn (một số kết quả được hiển thị bên dưới)
- Khi tạo Windows Server VM, tôi đã sử dụng hệ điều hành mặc định do nhà cung cấp đám mây cung cấp, vì vậy không có cấu hình kỳ lạ nào ở đó.
- Ping giữa văn phòng và máy chủ của chúng tôi là khoảng 28 mili giây.
- Trong khi tôi kết nối với tường lửa, chúng tôi đã thực hiện thử nghiệm với một đồng nghiệp có kết nối kinh doanh với cùng một nhà cung cấp internet (cùng tốc độ với tốc độ chúng tôi có tại văn phòng). Ping từ máy tính xách tay của tôi đến máy ảo Windows tại chỗ của anh ấy ở đâu đó trong khoảng từ 2 đến 3 mili giây. Thông lượng (máy ảo của anh ấy đóng vai trò là máy chủ) là khoảng 120 Mbps. Thử nghiệm tương tự với máy ảo trên đám mây (ping 28ms) là 10 Mb/giây.
- Tôi đã phải đặt tham số cửa sổ lớn khi sử dụng iperf từ HĐH Windows để cho phép băng thông tối đa (-w 5M), nhưng điều đó là không cần thiết từ Linux.
Ấn tượng của tôi là có vấn đề với việc mở rộng quy mô cửa sổ tắc nghẽn của Windows Server. Quá trình chụp Wireshark hiển thị một cửa sổ TCP lớn chưa sử dụng, nhưng tôi không biết cách khắc phục sự cố hoặc điều tra thêm vào thời điểm này.
Tôi đã bao gồm một số thử nghiệm mà tôi đã thực hiện bên dưới, nhưng tôi có thể cung cấp thêm nếu cần.
## IPERF (Linux VM trên đám mây gửi dữ liệu đến máy tính xách tay tại văn phòng)
superuser@testnr5linux:~$ iperf3 -c xx.xx.xx.xx -w 5M -t 60
Đang kết nối với máy chủ xx.xx.xx.xx, cổng 5201
[ 5] cổng 10.4.0.4 cục bộ 47268 được kết nối với cổng xx.xx.xx.xx 5201
[ ID] Cwnd tốc độ bit truyền khoảng thời gian
[ 5] 0,00-1,00 giây 76,2 MB 640 Mbit/giây 343 2,54 MB
[ 5] 1,00-2,00 giây 80,0 MB 671 Mbit/giây 53 1,88 MB
[ 5] 2,00-3,00 giây 73,8 MB 619 Mbit/giây 0 1,98 MB
[ 5] 3,00-4,00 giây 77,5 MB 650 Mbit/giây 0 2,06 MB
[ 5] 4,00-5,00 giây 80,0 MB 671 Mbit/giây 0 2,11 MB
(55 giây nữa trung bình 640Mbps)
## Ví dụ về tốc độ tốt từ máy ảo đám mây (Windows), sau đó là khởi động chậm kéo dài
C:\Users\superuser>iperf3.exe -c xx.xx.xx.xx -w 5M
Đang kết nối với máy chủ xx.xx.xx.xx, cổng 5201
[ 4] cổng 10.3.0.4 cục bộ 51988 được kết nối với cổng xx.xx.xx.xx 5201
[ ID] Băng thông truyền khoảng thời gian
[ 4] 0,00-1,00 giây 17,4 MB 145 Mbit/giây
[ 4] 1,00-2,00 giây 28,9 MB 243 Mbit/giây
[ 4] 2,00-3,00 giây 53,1 MB 446 Mbit/giây
[ 4] 3,00-4,00 giây 54,0 MB 453 Mbit/giây
[ 4] 4,00-5,00 giây 54,0 MB 452 Mbit/giây
[ 4] 5,00-6,00 giây 54,9 MB 461 Mbit/giây
[ 4] 6,00-7,00 giây 55,5 MB 465 Mbit/giây
[ 4] 7,00-8,00 giây 56,2 MB 471 Mbit/giây
[ 4] 8,00-9,00 giây 58,2 MB 490 Mbit/giây
[ 4] 9,00-10,00 giây 60,5 MB 508 Mbit/giây
- - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Băng thông truyền khoảng thời gian
[ 4] 0,00-10,00 giây 493 MByte 413 Mbit/giây người gửi
[ 4] 0,00-10,00 giây Bộ thu 490 MByte 411 Mbit/giây
Hoàn thành.
C:\Users\superuser>iperf3.exe -c xx.xx.xx.xx -w 5M
Đang kết nối với máy chủ xx.xx.xx.xx, cổng 5201
[ 4] cổng 10.3.0.4 cục bộ 51996 được kết nối với cổng xx.xx.xx.xx 5201
[ ID] Băng thông truyền khoảng thời gian
[ 4] 0,00-1,01 giây 7,12 MB 59,0 Mbit/giây
[ 4] 1,01-2,01 giây 3,25 MB 27,4 Mbit/giây
[ 4] 2,01-3,00 giây 4,00 MB 33,8 Mbit/giây
[ 4] 3,00-4,00 giây 5,00 MB 41,9 Mbit/giây
[ 4] 4,00-5,01 giây 5,88 MB 49,0 Mbit/giây
[ 4] 5,01-6,00 giây 6,62 MB 56,0 Mbit/giây
[ 4] 6,00-7,00 giây 7,50 MB 62,9 Mbit/giây
[ 4] 7,00-8,01 giây 8,62 MB 71,8 Mbit/giây
[ 4] 8,01-9,00 giây 9,38 MB 79,5 Mbit/giây
[ 4] 9,00-10,01 giây 10,4 MB 86,3 Mbit/giây
- - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Băng thông truyền khoảng thời gian
[ 4] 0,00-10,01 giây 67,8 MB 56,8 Mbit/giây người gửi
[ 4] 0,00-10,01 giây 63,1 MB Bộ thu 52,9 Mbit/giây
## Những thay đổi tôi phải thực hiện đối với /etc/sysctl.conf để tăng CWND.
# cho phép thử nghiệm với bộ đệm lên tới 64 MB
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
# tăng giới hạn bộ đệm TCP tự động điều chỉnh của Linux lên 32 MB
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
Lưu ý - Có vẻ như tôi cần ít nhất 10 danh tiếng để đăng ảnh, nhưng đây là các liên kết.. https://i.stack.imgur.com/IXhnS.png
https://i.stack.imgur.com/UyPYL.png