Genel olarak, sistemler arasındaki ağ performansının, özellikle gecikme ve titremenin bir görünümünü elde etmek için iperf yardımcı programına yönelik gelişmiş anahtarlardan bazılarını kullanabilirsiniz ...
Bu bir UDP veya TCP tabanlı mesaj akışı mı?
Yukarıda kurulumunuz hakkında daha fazla bilgiye ihtiyaç duyulduğunu söyledim. Bu, düşük gecikmeli mesajlaşma uygulamasıysa, donanım, sürücü ve işletim sistemi ayarını kapsayan tüm bir ayarlama ve optimizasyon teknikleri dünyası vardır . Ama gerçekten, daha fazla bilgiye ihtiyacımız var.
Düzenle:
Tamam, bu TCP mesajý. Herhangi bir /etc/sysctl.conf
parametreyi değiştirdiniz mi? Gönderme / alma arabellekleriniz nasıl görünüyor? Tek başına gerçek zamanlı bir çekirdek kullanmak fazla bir şey yapmaz, ancak CPU'lara bağlandığınız noktaya hareket ederseniz, mesajlaşma uygulamasının gerçek zamanlı önceliğini değiştirmek ( chrt
) ve muhtemelen tuned-adm
sistemin profilini değiştirmek yardımcı olabilir ...
Bu genel bir EL6 sistemi gibi görünüyor, bu nedenle bir performans ayarlama taban çizgisi oluşturmanın kolay bir yolu, sistemin performans profilini ayarlanan çerçeve içinde mevcut olan başka bir sistemle değiştirmeyi içerir . Sonra oradan inşa edin.
Senin durumunda:
yum install tuned tuned-utils
tuned-adm profile latency-performance
Farklılıkları gösteren hızlı bir matris:
Bize donanımdan bahseder misiniz? CPU, NIC, bellek türleri?
Yani, bağlantınızı test etmek ilginç olabilir ... Bu iperf testini deneyin ...
Tek bir sistemde, bir iperf UDP dinleyicisi başlatın. Diğer yandan, ilkine bir bağlantı açın ... Hızlı bir hat kalitesi testi.
# Server2
[root@server2 ~]# iperf -su
# Server1
[root@server1 ~]# iperf -t 60 -u -c server2
Benim durumumda, düşük titreşim ve düşük ping süresi:
------------------------------------------------------------
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
Donanım ve arayüzlerde hata olup olmadığını kontrol ederim. İsterseniz, sistemler arasındaki anahtarı kaldırın ve doğrudan bağlantının nasıl göründüğüne bakın. Yüksek titreşim (sapma) istemezsiniz, bu yüzden kontrol edin.
Ama dürüst olmak gerekirse, mevcut kurulumunuza girdiğiniz ping zamanlarında bile, uygulamanızı öldürmek için yeterli olmamalıdır. Gönderme / alma arabelleklerinizi ayarlama yolunda ilerlerdim. Bkz: net.core.rmem_max
, net.core.wmem_max
ve bunların varsayılan ...
Aşağıdaki gibi bir şey /etc/sysctl.conf
(lütfen zevkinize göre ayarlayın):
net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216