Secara umum, Anda dapat menggunakan beberapa sakelar lanjutan ke utilitas iperf untuk mendapatkan tampilan kinerja jaringan antar sistem, khususnya latensi dan jitter ...
Apakah ini aliran pesan berbasis UDP atau TCP?
Saya berkomentar di atas karena memerlukan informasi lebih lanjut tentang pengaturan Anda. Jika ini adalah aplikasi olahpesan latensi rendah, ada seluruh dunia teknik tuning dan optimisasi yang menjangkau peranti keras, driver, dan tweaker OS. Tapi sungguh, kami membutuhkan informasi lebih lanjut.
Edit:
Oke, jadi ini adalah perpesanan TCP. Sudahkah Anda mengubah /etc/sysctl.conf
parameter apa pun ? Seperti apa bentuk pengiriman / penerimaan buffer Anda? Menggunakan kernel realtime saja tidak akan banyak membantu, tetapi jika Anda pindah ke titik di mana Anda mengikat interupsi ke CPU, mengubah prioritas waktu nyata dari aplikasi perpesanan ( chrt
) dan mungkin memodifikasi tuned-adm
profil sistem dapat membantu ...
Ini kedengarannya seperti sistem EL6 umum, jadi cara mudah untuk menetapkan garis dasar penyetelan kinerja melibatkan mengubah profil kinerja sistem ke yang lain yang tersedia dalam kerangka kerja yang disetel . Kemudian bangun dari sana.
Dalam kasus Anda:
yum install tuned tuned-utils
tuned-adm profile latency-performance
Matriks cepat yang menunjukkan perbedaan:
Bisakah Anda memberi tahu kami tentang perangkat kerasnya? Jenis-jenis CPU, NIC, memori?
Jadi, mungkin menarik untuk menguji tautan Anda ... Coba uji iperf ini ...
Pada satu sistem, mulai pendengar UDP iperf. Di sisi lain, buka koneksi ke yang pertama ... Tes kualitas saluran cepat.
# Server2
[root@server2 ~]# iperf -su
# Server1
[root@server1 ~]# iperf -t 60 -u -c server2
Dalam kasus saya, jitter rendah dan waktu ping rendah:
------------------------------------------------------------
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
Saya akan memeriksa perangkat keras dan antarmuka untuk kesalahan. Jika Anda mau, hilangkan sakelar antar sistem dan lihat seperti apa koneksi langsung itu. Anda tidak ingin jitter tinggi (varian), jadi periksa itu.
Tetapi jujur, bahkan dengan waktu ping yang Anda dapatkan pada pengaturan saat ini, itu tidak cukup untuk mematikan aplikasi Anda. Saya akan menyusuri jalur penyetelan / penerimaan buffer Anda. Lihat: net.core.rmem_max
, net.core.wmem_max
dan default mereka ...
Sesuatu seperti yang berikut ini di /etc/sysctl.conf
(harap sesuaikan selera):
net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216