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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大資料叢集核心引數調優大資料
- linux核心引數優化重要項Linux優化
- solaris10中安裝oracle核心引數的調整Oracle
- 調優引數
- 淺談JVM整體架構與調優引數JVM架構
- 大資料學習—Kafka的核心調優引數大資料Kafka
- mysql 引數調優MySql
- 數倉調優實戰:GUC引數調優
- Nginx的優化調整方面Nginx優化
- JVM 引數調優(qbit)JVM
- JVM常用調優引數JVM
- 1,Spark引數調優Spark
- Linux雲端計算架構-系統調優【CPU、IO、網路、核心引數調優】Linux架構
- PostgreSQL安裝完成後,引數調整SQL
- 備份的優化和調整優化
- irace package -- 引數調優神器Package
- HBase 核心元件協調及RegionServer JVM引數調優-OLAP商業環境實戰元件ServerJVM
- solaris記憶體引數調整及管理記憶體
- JVM 引數調整對 sortx 的影響JVM
- 達夢資料庫引數調整方法資料庫
- tomcat 如何調優,涉及哪些引數Tomcat
- Swoole 核心開發備忘:記憶體管理優化(swString)記憶體優化
- Oracle11g 自動化建庫及調整相關引數Oracle
- dg庫日誌應用慢引數調整
- 什麼是線上優雅停機和調整執行緒池引數?執行緒
- 如何實現線上優雅停機和調整執行緒池引數?執行緒
- Sklearn GridSearchCV 引數優化優化
- 介紹幾個Java大型中介軟體系統中須調整的Linux核心引數JavaLinux
- Linux核心調優Linux
- nginx引數調優能提升多少效能Nginx
- 自動編碼器Gridsearch超引數調整KerasKeras
- TiDB 查詢優化及調優系列(四)查詢執行計劃的調整及優化原理TiDB優化
- 常用的 jvm 調優的引數都有哪些JVM
- docker下的spark叢集,調整引數榨乾硬體DockerSpark
- Oracle 核心引數Oracle
- weblogic執行緒池引數調優配置方法Web執行緒
- MySQL 8.x伺服器引數調優MySql伺服器
- JVM調優引數、方法、工具以及案例總結JVM