swoole優化核心引數調整

願無歲月可回首發表於2022-06-23

ulimit設定

ulimit -n 要調整為100000甚至更大。 命令列下執行 ulimit -n 100000即可修改。如果不能修改,需要設定 /etc/security/limits.conf,加入

* soft nofile 262140 * hard nofile 262140 root soft nofile 262140 root hard nofile 262140 * soft core unlimited * hard core unlimited root soft core unlimited root hard core unlimited

核心設定

net.unix.max_dgram_qlen = 100

swoole使用unix socket dgram來做程式間通訊,如果請求量很大,需要調整此引數。系統預設為10,可以設定為100或者更大。
或者增加worker程式的數量,減少單個worker程式分配的請求量。

net.core.wmem_max

修改此引數增加socket快取區的記憶體大小

net.ipv4.tcp_mem  =   379008       505344  758016 net.ipv4.tcp_wmem = 4096        16384   4194304 net.ipv4.tcp_rmem = 4096          87380   4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216

net.ipv4.tcp_tw_reuse

是否socket reuse,此函式的作用是Server重啟時可以快速重新使用監聽的埠。如果沒有設定此引數,會導致server重啟時發生埠未及時釋放而啟動失敗

net.ipv4.tcp_tw_recycle

使用socket快速回收,短連線Server需要開啟此引數

訊息佇列設定

當使用訊息佇列作為程式間通訊方式時,需要調整此核心引數

  • kernel.msgmnb = 4203520,訊息佇列的最大位元組數
  • kernel.msgmni = 64,最多允許建立多少個訊息佇列
  • kernel.msgmax = 8192,訊息佇列單條資料最大的長度

FreeBSD/MacOS

  • sysctl -w net.local.dgram.maxdgram=8192
  • sysctl -w net.local.dgram.recvspace=200000 修改Unix Socket的buffer區尺寸

開啟CoreDump

設定核心引數

kernel.core_pattern = /data/core_files/core-%e-%p-%t

通過ulimit -c命令檢視當前coredump檔案的限制

ulimit -c

如果為0,需要修改/etc/security/limits.conf,進行limit設定。

開啟core-dump後,一旦程式發生異常,會將程式匯出到檔案。對於調查程式問題有很大的幫助

其他重要配置

  • net.ipv4.tcp_syncookies=1
  • net.ipv4.tcp_max_syn_backlog=81920
  • net.ipv4.tcp_synack_retries=3
  • net.ipv4.tcp_syn_retries=3
  • net.ipv4.tcp_fin_timeout = 30
  • net.ipv4.tcp_keepalive_time = 300
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_tw_recycle = 1
  • net.ipv4.ip_local_port_range = 20000 65000
  • net.ipv4.tcp_max_tw_buckets = 200000
  • net.ipv4.route.max_size = 5242880

檢視配置是否生效

如:修改net.unix.max_dgram_qlen = 100後,通過

cat /proc/sys/net/unix/max_dgram_qlen

如果修改成功,這裡是新設定的值。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70018475/viewspace-2902535/,如需轉載,請註明出處,否則將追究法律責任。

相關文章