Linux/Windows系统内核性能调优
做過Linux平臺(tái)性能測試的童鞋平時(shí)可能會(huì)遇到如下問題:
1、 TCP端口號(hào)不夠用導(dǎo)致并發(fā)上不去(即與服務(wù)器端建立新連接失敗)
2、 TIME_WAIT狀態(tài)連接過多導(dǎo)致應(yīng)用服務(wù)器(Nginx、Haproxy、Redis、Tomcat等)性能下降或假死
等等
我們可以通過優(yōu)化系統(tǒng)內(nèi)核參數(shù)來解決上述問題,優(yōu)化步驟如下:
Linux 平臺(tái)
1、 參考附件1中sysctl.conf文件替換或修改系統(tǒng)中/etc/sysctl.conf
意義:
(1) 突破系統(tǒng)最大打開文件描述符數(shù)限制(系統(tǒng)級(jí)別)
(2) 提高系統(tǒng)網(wǎng)絡(luò)負(fù)載
2、 使用命令“sysctl -p /etc/sysctl.conf”使步驟1修改生效
備注:error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key 解決方法
- 1
- 2
- 1
- 2
3、 修改/etc/security/limits.conf,添加如下內(nèi)容:
* hard nofile 1024000 * soft nofile 1024000- 1
- 2
- 1
- 2
意義:突破 進(jìn)程最大打開文件描述符數(shù)限制(用戶級(jí)別)
4、 重新登錄服務(wù)器使其步驟3修改生效
備注:
(1) 修改過程中需注意:
a. 所有進(jìn)程打開的文件描述符數(shù)不能超過/proc/sys/fs/file-max
b. 單個(gè)進(jìn)程打開的文件描述符數(shù)不能超過user limit中nofile的soft limit
c. nofile的soft limit不能超過其hard limit
d. nofile的hard limit不能超過/proc/sys/fs/nr_open
(2) /etc/security/limits.conf里面修改文件描述符數(shù)量,建議帶上賬號(hào),*號(hào)代表了所有賬戶!
1) 新建kdxf運(yùn)行的賬戶(一般不使用root賬戶;現(xiàn)網(wǎng)安全起見一般會(huì)禁用root賬戶直接登錄權(quán)限,需要從普通賬戶登錄后切換至root)
2) 關(guān)閉Linux系統(tǒng)SELINUX和防火墻(需要重啟操作系統(tǒng),SELINUX安全系統(tǒng)控制過嚴(yán),可能會(huì)影響進(jìn)程訪問操作系統(tǒng)某些資源)
修改/etc/selinux/config文件中SELINUX=”“為disabled
關(guān)閉防火墻使用命令:
- 1
- 2
- 1
- 2
3) 系統(tǒng)字符集編碼配置(系統(tǒng)默認(rèn)utf-8,在需要的時(shí)候可以修改系統(tǒng)字符集,需要重啟操作系統(tǒng))
修改/etc/sysconfig/i18n配置文件中的LANG
- 1
- 1
修改/etc/profile,增加兩行:
export LANG=zh_CN.GB18030 export LC_ALL=zh_CN.GB18030- 1
- 2
- 1
- 2
4) 產(chǎn)生core文件配置(該配置是應(yīng)用程序在崩潰時(shí)能自動(dòng)產(chǎn)生一個(gè)崩潰core文件,有助于開發(fā)定位崩潰原因)
修改/etc/profile,增加一行:
- 1
- 1
修改/etc/sysctl.conf文件,設(shè)置
fs.suid_dumpable = 1- 1
- 1
運(yùn)行以下命令使得配置生效
sysctl -p- 1
- 1
5) 用戶最大進(jìn)程數(shù)配置
Centos5環(huán)境修改/etc/security/limits.conf文件
Centos6環(huán)境修改/etc/security/limits.d/90-nproc.conf文件
- 1
- 2
- 1
- 2
注:這里kdxf代表運(yùn)行應(yīng)用程序的普通系統(tǒng)賬戶,請根據(jù)實(shí)際填寫!
附件1:sysctl.conf
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
Windows平臺(tái)
1、 按附件2內(nèi)容新建tcp.reg注冊表文件并執(zhí)行
意義:修改系統(tǒng)連接數(shù)限制
2、 重啟系統(tǒng),使其步驟1修改生效
附件2:tcp.reg
總結(jié)
以上是生活随笔為你收集整理的Linux/Windows系统内核性能调优的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于边缘AI计算的人员入侵检测CNN算法
- 下一篇: Linux 查看进程的命令