tomcat和nginx相互结合的优化调整
在工作中遇到这样的情况
Tomcat为后台 nginx为反向代理
需要往后台导入数据,由于处理时间过长,导致访问时出现504和500 通过修改tomcat中maxParameterCount="30000" (默认为10000) 意思是数据库表的字段数乘以数据条数的值
然后再修改 nginx 代理中的proxy_read_timeout 600s; 这表示后台处理时的超时时间,可以根据数据量来设置。不过一般来都是定好导入数据量的多少,确定超时时间。同时,尽量不要经常修改tomcat的优化代码和nginx的配置文件
Tomcat中
conf/server.xml文件中添加
<Connector port="8826" protocol="HTTP/1.1"
maxThreads="1000"
minSpareThreads="200"
maxSpareThreads="800"
acceptCount="1100"
connectionTimeout="60000"
redirectPort="8402"
executor="tomcatThreadPool"
enableLookups="false"
disableUploadTimeout="true"
URIEncoding="UTF-8"
maxParameterCount="40000"
useBodyEncodingForURI="true" />
<Engine name="Catalina" defaultHost="localhost">
nginx中
/conf/nginx.conf
对代理服务器进行优化
location /test
{
proxy_pass http://www_cc_com_test;
proxy_read_timeout 600s;
# proxy_send_timeout 600s;
# proxy_connect_timeout 600s;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}