高性能linux服务器内核调优
高性能linux服务器内核调优
首先,介绍一下两个命令
1、dmesg 打印系统信息。
有很多同学们服务器出现问题,看了程序日志,发现没啥有用信息,还是毫无解决头绪,这时候,你就需要查看系统内核抛出的异常信息了,使用dmesg命令,可以查看系统信息,dmesg -c 清除已经看过的信息。
2、sysctl -p 生效内核配置
在我们修改内核参数文件/etc/sysctl.conf后,需要执行以下sysctl -p 来使参数生效。
nginx服务器内核调优
用户请求,最先进入的是nginx服务器,那我们首先就要对其进行内核调优。
首先,当然是文件描述符咯~
#增大文件描述符
ulimit -n 65536
echo -ne "
* soft nofile 65536
* hard nofile 65536
" >>/etc/security/limits.conf
#修改系统线程限制
echo -ne "
* soft nproc 2048
* hard nproc 4096
" >>/etc/security/limits.conf
链接追踪表问题
nginx服务器在开启防火墙时最容易遇到如下情况
执行dmesg命令,查看系统打印信息
nf_conntrack: table full, dropping packet
(链接追踪表已满)
这是相当常见的问题,而且十分严重,导致服务器随机丢弃请求,你的并发突破不了几千。
调优方式:
增加或者修改内核参数
vim /etc/sysctl.conf
net.nf_conntrack_max = 655360 (状态跟踪表的最大行数,16G的服务器)
net.netfilter.nf_conntrack_tcp_timeout_established = 1200(设置超时时间)
修改完毕后执行sysctl-p生效命令。
time_wait
接下来,我们又会面临time_wait过多的情况。
time_wait过多,会导致系统可用端口的减少,众所周知,linux随机端口的可用范围是32768-65535之间,用户通过80端口请求进来,服务器需要开启一个随机端口返回数据给用户,可用端口的减少必然影响到了用户的访问,接下来我们通过调整这两个内核参数来减少time_wait的数量
降低time_wait最大值,此操作会导致内核告警TCP: time wait bucket table overflow。但是可以提升并发,节约端口。
net.ipv4.tcp_max_tw_buckets = 8000
增大可用端口范围,效果顾名思义
net.ipv4.ip_local_port_range = 1024 65000
最后两个参数我忘记了是什么意思了,不过也加上吧 :)
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_syn_backlog = 81920
至此,你的nginx服务器可以愉快地跑起来了!
redis服务器内核调优
就一条
vm.overcommit_memory = 1
为了避免当系统内存不足时,系统杀掉内存占用最大的程序(往往都是redis QAQ)。
不要忘了执行命令生效一下
elastic服务器内核调优
增大一个进程可以拥有的VMA(虚拟内存区域)的数量
vm.max_map_count = 262144
降低使用交换分区的优先级(你还要在elastic程序中配置禁用交换分区)
vm.swappiness = 1
其他的暂时没有了,nginx服务器的内核调优参数可加入初始化脚本中去。
未完待续~
高性能linux服务器内核调优的更多相关文章
- 20个Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- [转]20个你不得不知的Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- Linux服务器初始化调优及安全加固
一,开启iptables 仅开放必要的SSH端口和监控端口 示例:SSH tcp 22snmpd udp 161nrpe tcp 5666本人公网IP全端口开放 二,除非特别熟悉selinux配置,否 ...
- linux 服务器性能调优总结
1.性能分析的几个方面 https://blog.csdn.net/w174504744/article/details/53894127 2.cpu 性能分析工具 perf https://blog ...
- linux性能查看调优
一 linux服务器性能查看1.1 cpu性能查看1.查看物理cpu个数:cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l ...
- 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化Linux内核参数/etc/sysctl.conf sysctl <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...
- 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化系统资源ulimit<高性能Linux服务器构建实战:运维监控.性能调优与集群应用> 假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10 ...
- Linux内核调优参数说明
该脚本是我常用的系统安装后执行脚本,包括开机启动服务.内核.SSH优化. !/bin/sh 服务优化,(sshd.network.crond.syslog.rsyslog)服务保持默认开机启动 Ser ...
- Perf -- Linux下的系统性能调优工具,第 2 部分 特殊用法以及内核调优示例
https://www.ibm.com/developerworks/cn/linux/l-cn-perf2/ 本文内容简介 之前介绍了 perf 最常见的一些用法,关注于 Linux 系统上应用程序 ...
随机推荐
- MYSQL数据库-SELECT详解
将SQL文件导入数据库中 $ source /url/file_name.sql ======================================================= S ...
- Sublime Text3 编辑器我的最爱
简介 Sublime Text 3是一个神奇的文本编辑器,适合程序员.作家.它有很多亮点功能,比如多选择.Go Anything.命令面板.多选择可以让你同时编辑多出代码,Got Anything 像 ...
- 我所理解的javascript中函数的作用域和作用域链
本文为原创,转载请注明出处: cnzt 文章:cnzt-p 写在前面 一周木有更新了,今天终于攻克了自行车难关,非常开心,特意来一更~ (那些捂嘴偷笑的人我看到你们了快把嘴闭上我会假装没看 ...
- 神奇的框架插件jquery layer
layer 的这个相册功能是不是很炫酷,是滴,这就是layer,只要添加一个layerjs就行了 //Javascript代码 layer.photos({ photos: '#photosDemo' ...
- 云计算+SaaS+业务开发平台=JSAAS云平台
我关注Google的代码托管.Open API,我也关注Oracle会把MYSQL怎么样云数据库化,我也虚拟化技术多实例化独立的数据库,我也关注facebook的平台插件应用架构,我也关注salesf ...
- 2.XML高级用法
XML命名空间提供了避免元素命名冲突的方法.而XML CDATA允许我们在XML中添加不被XML解析器解析的数据. 2.1 XML命名空间 一般情况下,我们编写的XML文档都是: XML文档1: &l ...
- grep的用法笔记
1.grep搜索不保护字符串的命令格式如下: #带-v参数 jevan@df ~ grep "agc" -vRn ./
- 关于ARM内核与架构的解释
本文摘自某论坛某位大神的一段回复,经典至极,copy来己用! 只要你玩过ARM内核的芯片,那么关于内核和架构,我想应该或多或少的困惑过你,看了下面的介绍,你应该会清楚很多! 好比你盖房子,刚开始因为水 ...
- ECP系统J2EE架构开发平台
一 体系结构 ECP平台是一个基于J2EE架构设计的大型分布式企业协同管理平台,通过采用成熟的J2EE的多层企业架构体系,充分保证了系统的健壮性.开放性和扩展性.可选择部署于多种系统环境,满足不同类型 ...
- angularjs实现首页轮播图
<!DOCTYPE html> <html ng-app="myApp" lang="en"> <head> <met ...