日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux/Windows系统内核性能调优

發布時間:2023/12/20 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux/Windows系统内核性能调优 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

做過Linux平臺性能測試的童鞋平時可能會遇到如下問題:
1、 TCP端口號不夠用導致并發上不去(即與服務器端建立新連接失敗)
2、 TIME_WAIT狀態連接過多導致應用服務器(Nginx、Haproxy、Redis、Tomcat等)性能下降或假死
等等
我們可以通過優化系統內核參數來解決上述問題,優化步驟如下:
Linux 平臺
1、 參考附件1中sysctl.conf文件替換或修改系統中/etc/sysctl.conf
意義:
(1) 突破系統最大打開文件描述符數限制(系統級別)
(2) 提高系統網絡負載
2、 使用命令“sysctl -p /etc/sysctl.conf”使步驟1修改生效
備注:error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key 解決方法

modprobe bridge lsmod|grep bridge
  • 1
  • 2
  • 1
  • 2

3、 修改/etc/security/limits.conf,添加如下內容:

* hard nofile 1024000 * soft nofile 1024000
  • 1
  • 2
  • 1
  • 2

意義:突破 進程最大打開文件描述符數限制(用戶級別)
4、 重新登錄服務器使其步驟3修改生效
備注:
(1) 修改過程中需注意:
a. 所有進程打開的文件描述符數不能超過/proc/sys/fs/file-max
b. 單個進程打開的文件描述符數不能超過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里面修改文件描述符數量,建議帶上賬號,*號代表了所有賬戶!
1) 新建kdxf運行的賬戶(一般不使用root賬戶;現網安全起見一般會禁用root賬戶直接登錄權限,需要從普通賬戶登錄后切換至root)
2) 關閉Linux系統SELINUX和防火墻(需要重啟操作系統,SELINUX安全系統控制過嚴,可能會影響進程訪問操作系統某些資源)
修改/etc/selinux/config文件中SELINUX=”“為disabled
關閉防火墻使用命令:

chkconfig iptables off chkconfig ip6tables off
  • 1
  • 2
  • 1
  • 2

3) 系統字符集編碼配置(系統默認utf-8,在需要的時候可以修改系統字符集,需要重啟操作系統)
修改/etc/sysconfig/i18n配置文件中的LANG

LANG="zh_CN.GB18030"
  • 1
  • 1

修改/etc/profile,增加兩行:

export LANG=zh_CN.GB18030 export LC_ALL=zh_CN.GB18030
  • 1
  • 2
  • 1
  • 2

4) 產生core文件配置(該配置是應用程序在崩潰時能自動產生一個崩潰core文件,有助于開發定位崩潰原因)
修改/etc/profile,增加一行:

ulimit -c unlimited
  • 1
  • 1

修改/etc/sysctl.conf文件,設置

fs.suid_dumpable = 1
  • 1
  • 1

運行以下命令使得配置生效

sysctl -p
  • 1
  • 1

5) 用戶最大進程數配置
Centos5環境修改/etc/security/limits.conf文件
Centos6環境修改/etc/security/limits.d/90-nproc.conf文件

kdxf hard nproc unlimited kdxf soft nproc unlimited
  • 1
  • 2
  • 1
  • 2

注:這里kdxf代表運行應用程序的普通系統賬戶,請根據實際填寫!
附件1:sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 # Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 12 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 8192 # Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 # Controls the default maxmimum size of a mesage queue kernel.msgmnb = 65536 # Controls the maximum size of a message, in bytes kernel.msgmax = 65536 # Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736 # Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 # Disable IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 # Determines how often to check for stale neighbor entries. net.ipv4.neigh.default.gc_stale_time=120 # Using arp_announce/arp_ignore to solve the ARP Problem net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.all.arp_announce=2 vm.swappiness = 0 net.ipv4.tcp_max_tw_buckets = 50000 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_synack_retries = 2 net.ipv4.conf.lo.arp_announce=2 # Controls the application is able to bind to not belong to the local network address net.ipv4.ip_nonlocal_bind=1 fs.file-max = 1700000
  • 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平臺
1、 按附件2內容新建tcp.reg注冊表文件并執行
意義:修改系統連接數限制
2、 重啟系統,使其步驟1修改生效
附件2:tcp.reg

Windows Registry Editor Version 5.00 ;修改TCP并發連接數為最大值 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "TcpNumConnections"=dword:00fffffe ;修改分頁池最大使用值被系統回收 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "PoolUsageMaxium"=dword:00000032 ;修復系統支持最大網絡吞吐量 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer] "MaxFreeConnections"=dword:00001000 "MinFreeConnections"=dword:00000100 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Linux/Windows系统内核性能调优的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。