线上系统,大量499,502错误。为了本地模拟,需要安装nginx,借助postman模拟并发请求。共需要以下步骤:1.安装nginx,需要首先安装openssl;2.配置nginx转发规则;3.postman模拟大并发;4.借助mat等工具分析是否内存泄漏等。
openssl安装
https://blog.csdn.net/qyee16/article/details/72799852
git clone https://github.com/openssl/openssl
sudo ./config --prefix=/usr/local/openssl
make
make install
查看版本
openssl version
nginx安装
首先注意:pcre(需要使用低版本,高版本的不需要不支持)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
不要pcre2版本
$ sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-cc-opt="-Wno-deprecated-declarations" --with-pcre=/Users/yangyangrenren/Downloads/pcre-8.43 --with-openssl=/usr/local/openssl
nginx配置转发
注意,在配置时候,对于server name,不要随便用,除非在本地的hosts中有配置,否则将无法识别server name。
server {
listen 80;
server_name 8081.max.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatserver1;
index index.html index.htm;
}
}
cp: conf/koi-win' and
/usr/local/nginx/conf/koi-win’ are the same file
解决办法
将这一步改一下
./configure --prefix=/usr/local/nginx
TO
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
499
前端
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url : 'http://localhost/demo/realtime_data/queuing_info?sellerId=aaaaaaa',
timeout : 10000,
type : 'get',
dataType : 'json',
beforeSend : function(request) {
request.setRequestHeader("Authorization", "KGRwMQpTJ2V4cGlyZXNfaW4nCnAyCmNkYXRldGltZQp0aW1lZGVsdGEKcDMKKEk3CkkwCkkwCnRScDQKc1MnY3JlYXRlZF9hdCcKcDUKY2RhdGV0aW1lCmRhdGV0aW1lCnA2CihTJ1x4MDdceGUzXHgwNlx4MDRcbjNcclxuPCwnCnRScDcKc1MncG9yY2hfdG9rZW4nCnA4ClZjY2ZmZWQ2MDVkODc0ODhiOTYyMjE1Yjk4N2I2ZDA2Yy02OTFmMDcxNjBhNTM0MzlmOGE2MTBjOTg2NWI5YmFhOApwOQpzUyd1c2VyX2lkJwpwMTAKVjVhN2JmMjY4MjAzYzQ2MDZmNThhZjAyNQpwMTEKc1Mnc3Vic3lzdGVtX2FsaWFzJwpwMTIKUydldmEnCnAxMwpzLg==--5cb7169cd21fdb4b2ed658f272dcc71c72b4806eaf64ba6c0e8caf6febc1db23");
},
success : function(data){
alert('success');
}
});
});
});
</script>
</head>
<body>
<button>ajax带超时时间请求</button>
</body>
</html>
后台接口
@GetMapping("/test")
public String test(HttpServletResponse response) throws InterruptedException {
Thread.sleep(100*1000);
return "hello";
}
nginx
location /demo/ {
access_log /usr/local/var/log/nginx/host.access.log main;
proxy_pass http://localhost:8080/demo/ ;
}
log日志
127.0.0.1 - - [04/Nov/2017:01:11:29 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
127.0.0.1 - - [04/Nov/2017:01:11:42 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
127.0.0.1 - - [04/Nov/2017:01:11:58 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
java -Xmx4000m -jar application-1.0-SNAPSHOT.jar
参考链接: