一、系统级基础优化
firewalld(若使用iptables)、NetworkManager等非必需服务,减少系统资源占用(如CPU、内存)。可通过systemctl stop firewalld && systemctl disable firewalld命令操作。/etc/sysctl.conf优化网络性能,例如增加net.ipv4.tcp_max_syn_backlog=8192(提升TCP连接队列长度)、net.ipv4.tcp_fin_timeout=30(缩短TIME_WAIT状态超时时间);添加vm.swappiness=10(减少Swap使用,优先使用物理内存)。ext4文件系统(支持更快的读写和日志功能),挂载时添加noatime选项(避免每次访问文件都更新访问时间,减少磁盘I/O)。例如:mount -o remount,noatime /。permissive模式(允许所有操作但不记录)或完全禁用(setenforce 0),避免权限检查带来的额外开销。修改/etc/selinux/config文件永久生效。二、JSP页面代码优化
<% %>脚本代码,降低页面复杂度。<c:if>、<c:forEach>)替代传统的<% if() %>, <% for() %>脚本,用EL表达式(${user.name})简化数据绑定,提高页面渲染速度。server.xml中配置compression="on"、compressableMimeType="text/html,text/css,application/javascript",或在Nginx中添加gzip on; gzip_types text/plain text/css application/json。loading="lazy"),延迟加载可视区域外的内容。三、应用与数据库优化
SELECT *、使用LIMIT分页),定期使用EXPLAIN分析查询执行计划;采用懒加载策略(如Hibernate的fetch=FetchType.LAZY),仅在需要时加载关联数据。maxPoolSize=20、idleTimeout=30000),避免连接过多导致数据库崩溃。TTL=3600秒),避免缓存雪崩。<%@ include file="header.jsp" %>或缓存框架(如Ehcache)缓存,减少服务器处理时间。四、服务器与Web容器配置
server.xml中的连接器参数,设置maxThreads=200(最大线程数,根据CPU核心数调整)、minSpareThreads=50(最小空闲线程数)、acceptCount=100(最大等待队列长度);关闭自动重载(reloadable="false"),减少开发环境下的资源消耗。upstream模块),将请求分发到多台Tomcat服务器,提高并发处理能力。Cache-Control: max-age=3600、Expires: Wed, 21 Oct 2025 07:28:00 GMT),让浏览器缓存静态资源,减少重复请求。五、性能监控与分析
top(查看CPU、内存占用)、htop(更直观的资源监控)、vmstat(查看系统整体性能,如上下文切换次数)等工具,及时发现资源瓶颈。-XX:+PrintGCDetails -Xloggc:/var/log/gc.log开启GC日志,使用GCViewer等工具分析日志,优化GC策略(如调整-XX:MaxGCPauseMillis目标停顿时间)。