高性能静态网站:
1、静态页面中针对图片进行浏览器(客户端)缓存,如公共JavaScript(jQuery,jQuery-1.12.1.min.js)进行缓存
2、对网站输入内容压缩(gzip)
3、配置静态资源防盗链,通过判断请求头中referer进行域名防盗
4、图片剪裁,通过系统自带工具进行图片剪裁
5、减少cookie携带,业务分离,如 img.dayutang.cn 用于提供图片和css的访问,www.dayutang.cn提供静态页面的访问
6、静态页面的安全下载,进行内容资源鉴权,
使用 ngx_http_secure_link_moudle模块
使用nginx中的X-Accel-Redirect控制头部
7、使用cdn加速用户访问
高性能动态网站:
tomcat优化:
1、增加tomcat可以使用的内存,配置使用内存最大值和最小值(catalina.sh)
2、mysql jdbc连接丢失配置jdbc重试机制:(jdbc:mysql://mysql-ip;3306/?autoReconnect=true)
nginx网站调优:
-
worker_processes:配置多少个工作进程,设置为与服务器核心(core)数量相同
-
work_cpu_affinity(重要优化项):将进程与CPU绑定,提高了CPU Cache 的命中率,从而减少内存访问损耗,提高程序的速度
-
sendfile:对于静态大文件,启用sendfile加速文件读取
-
tcp_nopush:在Linux socket 上启用 TCP_CORK选项,和sendfile合用,加速大文件读取
针对访问超时设置:(对于大型繁忙网站是重要的调优项目)
-
client_header_timeout:客户端必须在此指定的时间内把请求的header传输完成,请设置成5s或以下值,对于抵挡慢速攻击有作用
-
client_body_timeout:nginx2次连续读取客户端请求体的超时时间,请设置成5s或以下值
-
keepalived_timeout:定义保活时间,一般建议是60s
-
proxy_connect_timeout:nginx2次连续向后端服务器发送请求的超时时间,请设置成5s或以下值
-
proxy_send_timeout:nginx2次连续读取后端服务器返回的超时时间,请设置成5s或以下值