在数字时代,计算机性能的提升似乎永无止境,但并非每个人都能跟上硬件更新的步伐。对于许多用户来说,如何在有限的预算内让现有的Linux系统运行得更快、更流畅,成为了一个亟待解决的问题。本文将分享简单实用的Linux系统优化技巧,不仅能够显著提高系统的响应速度,还能延长旧设备的使用寿命,让你的老旧电脑重获新生。无论你是Linux新手还是有一定经验的用户,这些技巧都将帮助你更好地掌握自己的系统,享受更加高效、愉悦的使用体验。让我们一起探索,如何用最小的成本实现最大的性能提升吧!
优化导读
性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计、编程语言,再到系统、存储、网络等各种底层基础设施的方方面面。每一个组件都有可能出问题,而且很有可能多个组件同时出问题。
讲解 Linux 性能的基本指标、工具,以及相应的观测、分析和调优方法。包括 CPU 性能、磁盘 I/O 性能、内存性能以及网络性能。
系统性能问题,只要你理解了应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体性能的全局观。
性能指标:“高并发”和“响应快”是从应用负载的视角来考察性能,直接影响了产品终端的用户体验。也正对应着性能优化的两个核心指标——“吞吐”和“延时”。
随着应用负载的增加,系统资源的使用也会升高,甚至达到极限。而性能问题的本质,就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求。性能分析,其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。
性能分析六个步骤:
(1)选择指标评估应用程序和系统的性能;
(2)为应用程序和系统设置性能目标;
(3)进行性能基准测试;
(4)性能分析定位瓶颈;
(5)优化系统和应用程序;
(6)性能监控和告警。
内存优化实操
操作系统的一些参数也会影响到例如:MySQL、Tomcat性能,以下对linux内核进行适当优化。
一、防止TCP存在大量的等待(TIME_WAIT)状态的连接
1、查看连接数netstat -na|awk '/^tcp/ {++S[$NF]} END {for(i in S) print i,S[i]}'
2、查找whereis sysctl.cnf
3、执行命令 sysctl -a 查看当前系统中生效的所有参数
4、修改vim /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
TCP参数说明:
net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。默认是60s。
net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。
4、然后执行以下命令让参数生效:/sbin/sysctl -p
二、 在linux系统中,如果进程打开的文件句柄数量超过系统默认值1024,就会提示“too many files open”信息,所以要调整打开文件句柄限制,linux下ulimit参数调整。
1、修改vim /etc/security/limits.conf * 代表所有用户,也可以指定用户,重启系统生效
* soft nofile 65535
* hard nofile 65535
2、重启
ulimit -SHn 65536
ulimit -n
小结: 本文深入探讨了Linux系统性能优化的关键技术,涵盖从CPU、内存、磁盘I/O到网络性能等多个维度。通过实际案例解析,介绍了如何通过调整内核参数、优化TCP配置、增加文件句柄限制等手段,有效提升系统响应速度和稳定性。适合各层次Linux用户学习参考,帮助大家以最小成本实现系统性能的最大化。