浏览 4.4k
做了一个nginx server 端口访问8085 端口代理至达梦数据库的5236端口。
在windows笔记电脑的dm管理工具客户端连接nginx server 的 8085端口,可以访问达梦数据库的5236端口实例。可以执行数据库的sql。
但是现在有一个问题是: dm管理工具查询分析器,只要过10分钟左右没有活动。就需要重新连接dm数据库,重新连接接后又可继续使用dm数据库,失败提示:
总共1个语句正依次执行...
[执行语句1]:
select * from GL_SJSQ where kjnd='2023' /*and userid='235'*/ and rolecode like 'BMFZR-%'
执行失败(语句1)
6001: 网络通信异常(重连)
1条语句执行失败
产生这个问题有二个方面的原因: 1. dm管理工具客户端至 nginx server 的 8085端口,nginx server至 达梦数据库的5236端口的这整条网络链路、网络连接需要设置为长连接(这是网络方面的设置,这方面的原因可以排除,因为和网络管理员已经沟通过此事,已经开放整个网络链路的各个网络设置的长连接。)
2. nginx的配置有问题。请问关于nginx的 keepalive_timeout 参数正确放置的位置在哪儿?参数写法是什么,我需要48小时的保持活动时间。请大侠给予修改。
下面是nginx.conf 文件的我从默认文件修改的地方,并且重新启动过nginx,还是会出现数据库从新连接的提示,我怀疑哪里修改得不对?应该怎么修改?
#add by mike #这段是我加的,为了代理至达梦数据库的5236
stream {
server {
listen 8085;
proxy_pass 10.223.199.103:5236 ;
}
}
#add end by mike #这段是我加的,为了代理至达梦数据库的5236
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
#keepalive_timeout 65;
# modify by mike
keepalive_timeout 172800; #这段是我改的。
# modify by mike end

按点赞数排序
按时间排序
sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。
没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。
微信公众号
加入微信群