一、性能优化
1. 系统性能优化
- 进程优先级,比如我们可以把ssh的优先级提高,以防止ddos的的时候登录延迟。
- 内存调优: 目的是让CPU控制更多的内存 ,修改默认的内存页大小,启用大内存而立,比如重型应用,java项目。
- swap限制,调整内核参数让内核尽管不使用swap内存,提高内存的利用率。
- 修改内部消息队伍大小, 这里面的消息队列指的是本机进行与进程之间的消息队列。
- OOM优化
- 内存下刷频率
- 隔离CPU
2. 内核参数优化
文件系统最大能打开的文件数量
修改用户最多能打开的进程数
3. nginx性能优化
- 优化Nginx服务的worker进程个数
- 优化绑定不同的Nginx进程到不同的CPU上
- Nginx事件处理模型优化 ,使用异步IO模型
- 调整Nginx单个进程允许的客户端最大连接数
- 配置Nginx worker进程的最大打开文件数
- 调整连接超时时间
- 上传文件大小的限制(动态应用)
- 配置Nginx gzip压缩实现性能优化
- 配置Nginx expires缓存实现性能优化
- Nginx日志相关的优化与安全
- 限制网站来源IP访问
- 禁止访问指定目录下的所有文件和目录
- Nginx图片及目录防盗链解决方案
- Nginx错误页面的优雅显示
- 使用CDN做网站内容加速
- Nginx站点目录文件及目录权限优化
- 日志切割
4. tomcat性能优化
1、根据自己服务器的性能增加最大连接数
2、调整工作模式,使用NIO即可
3、根据cpu的占用率启用gzip压缩,如果cpu已经很忙了就不要再压缩,雪上加霜。
4、调整JVM内存大小,也要根据实际情况调整,并不是越大越好
5、作为Web服务器时,用nginx或apache保护,这个没什么好说的,一般不会让tomcat单独工作的。
6、合理选择垃圾回收算法
7、尽量使用较新JDK版本