浏览 1.6k
接触nginx不多,现在有一个场景:
我在机器A上启动了5个python程序,用占用了端口8015~8019,程序代码如下

然后我又在机器A上启动了nginx,并配置端口9006来监听请求。nginx配置如下
user root;
worker_processes 1;
error_log /ceyyen/nginx/logs/error-12.log;
pid /ceyyen/nginx/logs/nginx-12.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /ceyyen/nginx/logs/access-12.log;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream ceyyen_test {
server 192.168.60.128:8015;
server 192.168.60.128:8016;
server 192.168.60.128:8017;
server 192.168.60.128:8018;
server 192.168.60.128:8019;
}
server {
listen 9006;
server_name 192.168.60.128;
client_max_body_size 10m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Origin "";
location = /api/v1/test {
proxy_pass http://ceyyen_test/api/v1/test;
}
}
然后再jmeter里面压测接口http://192.168.60.128:9006/api/v1/test
请求体传入的是一张图片的base64编码时,压测的结果里面有很多返回502,查看了nginx日志
里面有很多的重复报错,总体就是下面两种。

但是请求体传入简单的{"name":"ceyyen"}的时候,压测结果就不报错。
还请各位大佬们,给分析下这是什么原因?

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