北京赛车pk10直播开奖
首頁
登錄 | 注冊

nf_conntrack: table full, dropping packet解決方法

在添加magent代理后,做memcached測試的發現,如果并發很高,數據庫的連接數居高不下,按理講隨著將key存入緩存中,連接數應該慢慢降下來才對,但是當并發低的時候卻很正常。

由于在啟動memcached時,加入了-vvv參數打印內部狀態信息,查看日志:

29: going from conn_parse_cmd to conn_write
29: going from conn_write to conn_new_cmd
29: going from conn_new_cmd to conn_waiting
29: going from conn_waiting to conn_read
28: going from conn_new_cmd to conn_waiting
28: going from conn_waiting to conn_read
28: going from conn_read to conn_closing

從日志中可以看出,memcached沒有接受命令就關閉連接了。

再從/var/log/messages日志中發現如下信息刷屏:

kernel: nf_conntrack: table full, dropping packet

這是iptables的報錯信息“連接跟蹤表已滿,開始丟包”,再想到網站那面將memcached的連接改為短連接,由于iptables會記錄每個連接的跟蹤信息,而連接關閉關閉過于頻繁導致連接跟蹤表滿,出現丟包。

解決方法:

首先將memcached的連接方法改為長鏈接,然后再針對nf_conntrack進行修改,主要有以下幾種方式:

1.關閉防火墻

chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop

注意:在防火墻關閉的狀態下,不要使用iptables -L -vnx來查看狀態!因為這樣會導致防火墻被啟動,而且規則為空。雖然不會有任何攔截效果,但所有連接狀態都會被記錄,浪費資源且影響性能并可能導致防火墻主動丟包!

2.加大iptables跟蹤表大小,調整對應的系統參數

3.使用裸表,不添加跟蹤標志

4.刪除連接跟蹤模塊

具體的修改過程請參考 http://www.linuxidc.com/Linux/2015-06/118685.htm ,這里說的比較詳細。



2019 monjeep.com webmaster#monjeep.com
12 q. 0.009 s.
京ICP備10005923號
北京赛车pk10直播开奖
二手 abb 机械臂 赚钱 最新三国麻将无双安卓版 大众麻将技巧十句口诀 神武大唐怎么赚钱快 今日头条具体怎么赚钱 2000年开什么赚钱 游戏里当拖赚钱嘛 烟酒零售生意赚钱吗 甘肃攒劲麻将二维码 北京pk10赚钱技巧 天涯