swoole優化核心引數調整
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LinuxSysctl調整核心引數Linux
- HP-UX調整核心引數UX
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- Linux核心引數調優Linux
- CentOS 6.5針對MongoDB叢集應該調整和優化哪些核心引數?CentOSMongoDB優化
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- Linux系統優化部分核心引數調優中文註釋Linux優化
- MySQL引數調整MySql
- HP-UX調整核心引數_kmtune_kctuneUX
- oracle 記憶體引數調整優化相關傾力整理Oracle記憶體優化
- Linux核心調優部分引數說明Linux
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- FreeBSD系統最佳化部分核心引數調整中文註釋(轉)
- AIX fsfastpath 引數調整AIAST
- SAP ECC6.0記憶體引數調整和調優記憶體
- solaris10中安裝oracle核心引數的調整Oracle
- 淺談JVM整體架構與調優引數JVM架構
- linux核心引數優化重要項Linux優化
- ORACLE RAC SGA引數調整Oracle
- 引數調整案例總結
- 調整資料庫引數資料庫
- 大資料學習—Kafka的核心調優引數大資料Kafka
- Linux常用的一些核心引數(調優)Linux
- 資料庫安裝初始化引數調整資料庫
- 數倉調優實戰:GUC引數調優
- Oracle 資料庫引數調整Oracle資料庫
- [最佳化]Oracle 內在索引和引數數的調整(轉)Oracle索引
- Nginx的優化調整方面Nginx優化
- Linux核心優化之TCP相關引數Linux優化TCP
- JVM 引數調優(qbit)JVM
- 1,Spark引數調優Spark
- JVM常用調優引數JVM
- Hadoop引數調優Hadoop
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整(如SGA_MAX_SIZE)LinuxHMMOracle
- Linux雲端計算架構-系統調優【CPU、IO、網路、核心引數調優】Linux架構