# 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 本地准备部署文件 ```bash # 1. 清理并构建项目 mvn clean package -DskipTests # 2. 重命名WAR文件 copy target\web-0.0.1-SNAPSHOT.war target\DL.war ``` ### 3.2 数据库索引优化(关键步骤) 在数据库服务器上执行索引创建脚本: ```sql -- 执行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上传文件到服务器: ```bash # 上传WAR文件 scp target\DL.war user@your-server:/opt/tomcat/webapps/ # 上传索引脚本(用于备份) scp CREATE_OPTIMIZATION_INDEXES.sql user@your-server:/opt/tomcat/ ``` ### 3.4 服务器部署操作 登录服务器后执行: ```bash # 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查询性能验证 - 执行常用查询操作 - 确认响应时间明显改善 - 监控数据库慢查询日志 #### 缓存效果验证 - 连续访问相同数据页面 - 确认第二次及后续访问速度更快 ## 五、回滚方案 如遇部署问题,请按以下步骤回滚: ```bash # 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`,可以帮助准备部署文件。在项目根目录执行: ```bash # 运行批处理脚本 .\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` --- > 部署完成后,请务必执行性能优化验证步骤,确保所有优化措施生效。