You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.7 KiB

Spring Boot应用最新部署指南(性能优化版)

版本信息

  • 版本: 2.0
  • 日期: 2024
  • 更新内容: 包含数据库性能优化、SQL查询优化、分页功能和缓存配置

一、优化内容概述

1.1 已完成的性能优化

SQL查询优化

  • SELECT *查询替换为显式字段列表,减少数据传输量
  • 优化复杂JOIN查询,减少不必要的表连接

分页功能实现

  • 新增selectAllManagersWithPagination方法实现分页查询
  • 添加getManagersCount方法获取总数用于分页计算

缓存配置

  • 为ManagersMapper添加LRU二级缓存配置
  • 提升重复查询性能

数据库索引

  • 为关键字段创建索引,提升查询性能
  • 详细索引脚本位于CREATE_OPTIMIZATION_INDEXES.sql

二、部署前准备

2.1 确认构建产物

  • WAR文件: target\web-0.0.1-SNAPSHOT.war
  • 索引脚本: CREATE_OPTIMIZATION_INDEXES.sql
  • 验证文件: src\main\resources\mapper目录下的优化后的XML文件

2.2 环境要求

  • Tomcat: 10.1.48(Jakarta EE 10兼容)
  • JDK: 17或更高
  • 数据库: 支持索引创建的关系型数据库

三、部署流程

3.1 本地准备部署文件

# 1. 清理并构建项目
mvn clean package -DskipTests

# 2. 重命名WAR文件
copy target\web-0.0.1-SNAPSHOT.war target\DL.war

3.2 数据库索引优化(关键步骤)

在数据库服务器上执行索引创建脚本:

-- 执行CREATE_OPTIMIZATION_INDEXES.sql文件
-- 或直接执行以下索引创建语句

-- 为managers表创建索引
CREATE INDEX idx_managers_enterprise_id ON managers(enterprise_id);
CREATE INDEX idx_managers_user_name ON managers(user_name);

-- 为users表创建索引
CREATE INDEX idx_users_user_id ON users(user_id);
CREATE INDEX idx_users_user_name ON users(user_name);
CREATE INDEX idx_users_status ON users(status);

-- 为usermanagements表创建索引
CREATE INDEX idx_usermanagements_user_id ON usermanagements(user_id);
CREATE INDEX idx_usermanagements_role_id ON usermanagements(role_id);
CREATE INDEX idx_usermanagements_permission_level ON usermanagements(permission_level);

3.3 上传部署文件

使用SFTP或SCP上传文件到服务器:

# 上传WAR文件
scp target\DL.war user@your-server:/opt/tomcat/webapps/

# 上传索引脚本(用于备份)
scp CREATE_OPTIMIZATION_INDEXES.sql user@your-server:/opt/tomcat/

3.4 服务器部署操作

登录服务器后执行:

# 1. 停止Tomcat
cd /opt/tomcat/bin
./shutdown.sh

# 2. 等待Tomcat完全停止(约30秒)

# 3. 备份旧应用
cp -r /opt/tomcat/webapps/DL /opt/tomcat/backup/

# 4. 删除旧部署文件
rm -rf /opt/tomcat/webapps/DL*

# 5. 确保权限正确
chown -R tomcat:tomcat /opt/tomcat/webapps/
chmod -R 755 /opt/tomcat/webapps/

# 6. 启动Tomcat
./startup.sh

# 7. 监控部署日志
tail -f /opt/tomcat/logs/catalina.out

四、部署后验证

4.1 功能验证

  • 访问应用: http://your-server-ip:8080/DL
  • 登录验证: 确认可以正常登录
  • 数据操作: 验证增删改查功能正常

4.2 性能优化验证

分页功能验证

  • 访问负责人管理页面
  • 确认列表显示已启用分页
  • 验证翻页功能正常工作
  • 检查数据加载速度是否提升

SQL查询性能验证

  • 执行常用查询操作
  • 确认响应时间明显改善
  • 监控数据库慢查询日志

缓存效果验证

  • 连续访问相同数据页面
  • 确认第二次及后续访问速度更快

五、回滚方案

如遇部署问题,请按以下步骤回滚:

# 1. 停止Tomcat
cd /opt/tomcat/bin
./shutdown.sh

# 2. 删除新部署文件
rm -rf /opt/tomcat/webapps/DL*

# 3. 恢复备份
cp -r /opt/tomcat/backup/DL /opt/tomcat/webapps/

# 4. 启动Tomcat
./startup.sh

六、批处理部署脚本

项目中提供了Windows批处理脚本deploy_with_optimization.bat,可以帮助准备部署文件。在项目根目录执行:

# 运行批处理脚本
.\deploy_with_optimization.bat

七、注意事项

  1. 备份: 部署前务必备份应用数据和数据库
  2. 维护窗口: 选择低流量时段进行部署
  3. 索引优化: 必须执行数据库索引创建脚本
  4. 性能监控: 部署后持续监控系统性能
  5. 日志检查: 定期检查应用日志,及时发现问题
  6. 权限问题: 确保Tomcat用户对所有必要目录有正确权限

八、相关文档

  • 性能优化详细说明: PERFORMANCE_OPTIMIZATION_GUIDE.md
  • Mapper XML部署指南: MAPPER_XML_DEPLOYMENT_GUIDE.txt
  • 数据库索引脚本: CREATE_OPTIMIZATION_INDEXES.sql

部署完成后,请务必执行性能优化验证步骤,确保所有优化措施生效。