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
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
七、注意事项
- 备份: 部署前务必备份应用数据和数据库
- 维护窗口: 选择低流量时段进行部署
- 索引优化: 必须执行数据库索引创建脚本
- 性能监控: 部署后持续监控系统性能
- 日志检查: 定期检查应用日志,及时发现问题
- 权限问题: 确保Tomcat用户对所有必要目录有正确权限
八、相关文档
- 性能优化详细说明:
PERFORMANCE_OPTIMIZATION_GUIDE.md - Mapper XML部署指南:
MAPPER_XML_DEPLOYMENT_GUIDE.txt - 数据库索引脚本:
CREATE_OPTIMIZATION_INDEXES.sql
部署完成后,请务必执行性能优化验证步骤,确保所有优化措施生效。