服务迁移之《tomcat性能优化》
- 删除无用的connector,因为一般的tomcat前面都会挂有nginx服务
- 增加connnector使用的线程池的数量
- 删除没有用的listener
- host优化项:autoDeploy设置为false;unpackWARS设置为false;
- executor中:reloadable设置为false
- 去掉tomcat设置的默认的servlet(defaultServlet,jspservlet)
- 去掉session配置,都已经是无状态服务了
- 删除webapp下没有用的项目
- -Djava.security.egd=file/dev/./urandom
- startStopThreads 项目启动或者停止时,使用多少线程来处理
场景:服务迁移到新的ECS上,项目启动的就是很慢。
代码保持一摸一样,就是在新的服务器上启动非常的慢。第一个想到的是那个java.security.egd=file/dev/./urandom 参数。然后就是启动处理线程数。因为我们测试环境是4C8G的,所以修改成4以后,启动时间直接成倍的减。
同时还修改了JVM配置参数。因为老的商场启动速度真的得两三分钟,所以有时候还会出现启动不了的情况。
最开始的启动参数我记得很清楚,Xss是256k,Xmx是512M。这个参数对于整车商场系统来说太小了,保守一点就扩大一倍,启动速度大幅度提升。
迁移后,整体调整了新生代的大小,和垃圾收集器从CMS修改成G1。
本文来自博客园,作者:Eular,转载请注明原文链接:https://www.cnblogs.com/euler-blog/p/18598361
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通