Linux UDP嚴重丟包問題的解決

來源:互聯網
上載者:User

測試系統在Linux上的效能發現丟包率極為嚴重,發210000條資料,丟包達110000之巨,丟包率超過50%。同等情形下Windows上測試,僅丟幾條資料。形勢嚴峻,必須解決。考慮可能是因為協議棧Buffer太低所致,於是先看看預設情況:

sysctl -a |grep net.core

發現

net.core.rmem_max = 131071

net.core.rmem_default = 112640

修改吧,變大一點,變成10M,然後reboot(應該重啟某個服務即可)

然後查網卡收包情況:

netstat -su

結果如下:

Udp:

    97690 packets received

    112310 packets to unknown port received.

    0 packet receive errors

    20 packets sent

探索資料在網卡就丟了,判斷可能是防火牆引起的,於是執行命令:

iptables -L

結果如下:

Chain INPUT (policy ACCEPT)

target     prot opt source               destination

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

證明iptables啟動,於是停止防火牆:

service iptables stop

這個命令即時生效,開啟防火牆的命令:

service iptables start

如果要徹底關閉防火牆,則需要重啟後生效

開啟: chkconfig iptables on

關閉: chkconfig iptables off

在開啟了防火牆時,做如下設定,開啟相關連接埠,

修改/etc/sysconfig/iptables 檔案,添加以下內容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

重新測試,沒丟一條資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.