在做服務端壓測的時候,經常會遇到一些由於linux系統限制導致壓力上不去的情況,這裡從linux系統引數上做一些調優,減少此類因素的干擾。
執行:sudo vi /etc/sysctl.conf,新增以下內容:
#tcp connection recovery
net.ipv4.tcp_max_tw_buckets = 6000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.route.max_size = 5242880
net.ipv4.ip_forward = 1
net.ipv4.tcp_timestamps = 1
#開啟對於tcp時間戳的支援,若該項設定為0,則下面一項設定不起作用
#tcp connection manager
net.ipv4.tcp_max_syn_backlog = 655360
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 6
#tcp keepalive
net.ipv4.ip_local_port_range = 1000 65534
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
fs.inotify.max_user_watches=524288
儲存後執行:sysctl -p生效。
執行:sudo vi /etc/security/limits.conf ,文末新增:
- nofile 1000000
執行:vi /usr/lib/systemd/system/supervisord.service,新增如下:
[service]
#新增如下三行
limitcore=infinity
limitnofile=1000000
limitnproc=1000000
修改完上述supervisord.service後,執行如下命令生效
sudo systemctl daemon-reloadsudo systemctl restart supervisord.service
1. 全域性檢視
執行:ulimit -a,
檢視open files選項
2. 檢視supervisor啟動服務的open files數
#1. 先查詢supervisor的pidps aux |grep
supervisor
#2. 假如是22296,檢視程序限制
cat /proc/22296/limits
#3. 看到有下面一行就ok了
max open files
1000000
1000000 files
limits.conf是linux資源限制配置檔案,為了效能測試,我們可以將其調大
進行了如上配置之後,在我們使用jmeter等壓測工具進行壓測的時候,後端服務能享受到linux軟體層面的最大效能。* soft nofile 655350 * hard nofile 655350* soft nproc 655350
* hard nproc 650000
傳送門:2021最新測試資料&大廠職位
博主:測試生財(乙個不為996而996的測開碼農)座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內捲的人生奠定財務自由。
csdn:
:51cto:
linux 系統效能壓測工具簡介
效果 memtester主要是捕獲記憶體錯誤和一直處於很高或者很低的壞位,其測試的主要專案有隨機值,異或比較,減法,乘法,除法,與或運算等等.通過給定測試記憶體的大小和次數,可以對系統現有的記憶體進行上面專案的測試。交叉編譯方法 a.按下圖修改相關檔案 b.執行 make使用方法 引數介紹 memt...
關於mysql效能壓測之tpcc
wget 安裝依賴 yum install y mysql devel 解壓安裝 tar xf tpcc mysql src.tar make 測試前準備 root tpcc mysql mysql uroot p123456 s data mysql 5.5 mysql.sock e create...
Jmeter效能測試之壓測場景介紹
1.1基準測試 基準測試是用單個使用者對需要壓測的交易壓測5 10分鐘,初步了解下該交易的響應時間和tps,一般此過程不會出現問題。1.2單場景負載測試 單場景負載測試是對需要壓測的交易使用80使用者併發,壓測10分鐘左右,考查單個交易的負載情況。這個場景容易測試出來響應時間慢或者伺服器資源利用率高...