- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
訪問網站慢。執行ping結果如下圖:
ping 127.0.0.1;ping: sendmsg: Operation not permitted
系統負核 1 以下,網絡線路通暢,資料庫無死鎖進程;
系統日志出現大量:kernel: printk: xxxx messages suppressed.資訊。
dmesg 指令后發現大量以下資訊:
TCP: drop open request from 202.153.162.100/62751
printk: 78 messages suppressed.
問題原因
問題可能出在TCP/IP連結上,根據日志資訊查找資料介紹如下:
IP_conntrack表示連接跟蹤數據庫(conntrack database),代表NAT機器跟蹤連接的數目,連接跟蹤表能容納多少記錄是被一個變量控制的,它可由內核中的ip-sysctl函數設置。每一個跟蹤連接表會占用350字節的內核存儲空間,時間一長就會把默認的空間填滿。
解決方案
1. 加大 ip_conntrack_max 值:
查出原本的 ip_conntrack_max 值,指令: cat /proc/sys/net/ipv4/ip_conntrack_max
寫入理想的數值 (每一個 ip_conntrack buffer 會占用 292 Bytes)
指令: echo "數值" > /proc/sys/net/ipv4/ip_conntrack_max
例如: echo "163840" >/proc/sys/net/ipv4/ip_conntrack_max
這個效果是暫時的, 如果要每次開機都使用新的數值, 需將上述指令寫入 /etc/rc.d/rc.local
或是在 /etc/sysctl.conf 加入: net.ipv4.ip_conntrack_max = 數值
或使用指令: sysctl -w net.ipv4.ip_conntrack_max=數值
2. 降低 ip_conntrack timeout 時間
重設:ip_conntrack_tcp_timeout_established (原值: 432000, 單位: 秒)
指令:echo "數值" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
例如:echo "180" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
3. 開啟 tcp_syncookies
重設:tcp_syncookies (默認值 0)
例如:echo '1'> /proc/sys/net/ipv4/tcp_syncookies
4、經過以上設置后,系統日志出現一條:
kernel: possible SYN flooding on port 80. Sending cookies.
后不再出現:kernel: printk: xxx messages suppressed. 的提示。訪問網站明顯感覺速度提升。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP