1.Nginx服务器优化(主要涉及到Nginx.conf文件的一些属性配置)
#一般建议小于CPU个数,一般进程运行在CPU上,而Nginx是采取居于时间的非阻塞多路复用epoll模型
1.worker_processes
#将work process绑定到特定的cpu上,避免进程在cpu间切换开销(8核设置00000001 00000010 00000100 00001000)
2.worker_cpu_affinity 0001 0010 0100 1000
#进程最大可以打开文件描述符数量502错误(系统描述符支撑最大量/进程数)
3.worker_rlimit_nofile
#每个进程允许的最大连接数(做静态服务器时:客户连接数=worker_connections*进程数/2 做反向代理服务器时客户连接数=worker_connections*进程数/4 )
4.worker_connections 200000
#设置http里面的访问日志和错误日志的打印级别或者关闭,减少IO
5.http{ access_log offl;error_log logs/error.log crit}
#启动内核复制模式,保持IO效率最高
6.http{ sendfile on}
#连接时间保持长度,优点是减少创建连接,加快响应速度。但是响应的连接数量会受到限制(最高100连接,在过来的时候还没释放就创建不了新连接)
7.http{ keepalive_timeout 30s}
# 压缩,压缩最小资源大小,等级,等级越高,压缩效果越好,占用服务器资源越严重。
8.gzip on /gzip_min_length 1000/gzip_comp_level
#压缩文件类型的选择,有些文件压缩效果不好选择不压缩,减少服务器性能损耗
9.gzip_type
#最大缓存数量,文件未使用存活期
10.open_file_cache max=655350 inactive=20s;
open_file_cache_valid 30s #验证缓存有效时间间隔
open_file_cache_min_uses 2 有效期内文件最少使用次数
====》20秒内达不到2次,在30秒一次的命中率检测未达到标准则移除
2.tomcat优化
(1)设置堆内存
JAVA_OPTS=$JAVA_OPTS -server -Xms1024m -Xmx2048m
(2)设置PermGen内存(java.lang.OutOfMemoryError)jdk1.8不用设置
-XX:PermSize=256m -XX:MaxPermSize=512m
(3)设置java是运行在一种无图形显示的模式下
-Djava.awt.headless=true
2.设置server.xml
设置<Connector/>的一些参数