Nhìn chung, bạn có thể sử dụng một số công tắc nâng cao cho tiện ích iperf để có được cái nhìn về hiệu suất mạng giữa các hệ thống, cụ thể là độ trễ và jitter ...
Đây có phải là luồng tin nhắn dựa trên UDP hoặc TCP không?
Tôi đã nhận xét ở trên về việc cần thêm thông tin về thiết lập của bạn. Nếu đây là một ứng dụng nhắn tin có độ trễ thấp, thì có cả một thế giới các kỹ thuật điều chỉnh và tối ưu hóa bao trùm phần cứng, trình điều khiển và hệ điều hành. Nhưng thực sự, chúng ta cần thêm thông tin.
Biên tập:
Được rồi, đây là tin nhắn TCP. Bạn đã sửa đổi bất kỳ /etc/sysctl.conf
tham số? Bộ đệm gửi / nhận của bạn trông như thế nào? Chỉ sử dụng hạt nhân thời gian thực sẽ không làm được gì nhiều, nhưng nếu bạn chuyển đến điểm mà bạn ràng buộc bị gián đoạn với CPU, việc thay đổi mức ưu tiên thời gian thực của ứng dụng nhắn tin ( chrt
) và có thể sửa đổi tuned-adm
cấu hình của hệ thống có thể giúp ...
Đây có vẻ là một hệ thống EL6 chung, vì vậy một cách dễ dàng để thiết lập đường cơ sở điều chỉnh hiệu suất liên quan đến việc thay đổi cấu hình hiệu suất của hệ thống sang một hệ thống khác có sẵn trong khung điều chỉnh . Sau đó xây dựng từ đó.
Trong trường hợp của bạn:
yum install tuned tuned-utils
tuned-adm profile latency-performance
Một ma trận nhanh cho thấy sự khác biệt:
Bạn có thể cho chúng tôi biết về phần cứng? Các loại CPU, NIC, bộ nhớ?
Vì vậy, sẽ rất thú vị khi kiểm tra liên kết của bạn ... Hãy thử kiểm tra iperf này ...
Trên một hệ thống, bắt đầu một trình nghe UDP iperf. Mặt khác, mở một kết nối đến đầu tiên ... Một bài kiểm tra chất lượng đường nhanh.
# Server2
[root@server2 ~]# iperf -su
# Server1
[root@server1 ~]# iperf -t 60 -u -c server2
Trong trường hợp của tôi, jitter thấp và thời gian ping thấp:
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 224 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.15.3 port 5001 connected with 172.16.2.152 port 36312
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-20.0 sec 2.50 MBytes 1.05 Mbits/sec 0.012 ms 0/ 1785 (0%)
PING server1 (172.16.2.152) 56(84) bytes of data.
64 bytes from server1 (172.16.2.152): icmp_seq=1 ttl=63 time=0.158 ms
64 bytes from server1 (172.16.2.152): icmp_seq=2 ttl=63 time=0.144 ms
Tôi sẽ kiểm tra lỗi phần cứng và giao diện. Nếu bạn muốn, loại bỏ việc chuyển đổi giữa các hệ thống và xem kết nối trực tiếp trông như thế nào. Bạn không muốn jitter cao (phương sai), vì vậy hãy kiểm tra xem.
Nhưng thành thật mà nói, ngay cả với thời gian ping bạn đang cài đặt hiện tại, điều đó cũng không đủ để giết ứng dụng của bạn. Tôi sẽ đi theo con đường điều chỉnh bộ đệm gửi / nhận của bạn. Xem: net.core.rmem_max
, net.core.wmem_max
và giá trị mặc định của họ ...
Một cái gì đó giống như sau đây /etc/sysctl.conf
(vui lòng điều chỉnh để nếm thử):
net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216