各种参数配置
1. JVM参数
Xss |
每个线程的堆栈大小 |
128k 设置较小的线程栈以支持创建更多的线程,支持海量访问,并提升系统性能。 |
|
-Xmx |
最大堆大小 |
物理内存的1/4(<1GB) |
大小约等于系统内存大小的一半,即充分利用系统资源,又给予系统安全运行的空间 |
Xms |
初始堆大小 |
物理内存的1/64(<1GB) |
Xmx 与 -Xms 相同以避免JVM反复重新申请内存 |
- jvmSize:java虚拟机内存大小
- MaxMetaspaceSize:主要控制matesaceGC发生的初始阈值,也就是最小阈值。也就是说当使用的matespace空间到达了MetaspaceSize的时候,就会触发Metaspace的GC。
2. Nginx和Tomcat
2.1 介绍
Nginx:在负载均衡里是前端服务器,用来处理请求的转发(反向代理等);是静态页面服务器.绝大部分时候他们本身并不会运行项目.
Tomcat:是后端服务器,属于Java Servlet容器.用来生成动态页面.是直接用来运行项目的容器。
简单来说就是你发出一个请求,先经过nginx,它们会合理地把请求分配到后台比较不忙的Tomcat.Tomcat会把请求处理好返回给Nginx,然后Nginx会把最终的结果传送给浏览器.当然,如果是一些静态的数据,Nginx就可以直接处理了.
2.2 配置
nginx配置:
- 客户端请求header的缓冲区大小:client_header_buffer_size 64k,默认1k
- 最大header:large_client_header_buffers 4 8k, 默认4个buffer,每个buffer8k(请求行/请求头中每个field不能超过8k)
tomcat服务器配置: 在springboot的配置文件中修改
- 最大header:server.max-http-header-size=65535 (单位b)