在高并发下各种报错处理

在进行1000左右的压力测试时,使用nginx作为反向代理并用python+locust作为工具,遇到了500InternalServerError,502BadGateway和504GatewayTime-out的问题。通过调整nginx配置和优化Java内存设置(增加Xms和Xmx至1G和4G)以及更新Dockerfile解决了内存不足的问题,从而消除了错误。
摘要由CSDN通过智能技术生成

背景

一个普通项目需要做1000左右的压力测试,用nginx做了反向代理,然后在压测过程中,出现了一些问题。
压测工具:python+locust

测试场景

当时模拟了添加后列表刷新的场景,如图所示。在这里插入图片描述

问题

出现问题如下:
一共3种:
1、500 server error :internal server for url
2、502 server error :bad gateway for url
3、504 server error :gateway time-out for url

在这里插入图片描述

分析与处理

1、一开始有nginx报错,所以修改了nginx配置
worker_processes 8;#修改进程数
worker_connections 2048;#修改连接数
2、查看日志发现应用报错:Caused by: java.lang.OutOfMemoryError: Java heap space
java的堆内存不够了
所以修改dockerfile,
FROM anapsix/alpine-java:8_server-jre_unlimited

MAINTAINER www.joolun.com

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN mkdir -p /target

WORKDIR /target

EXPOSE 8005

ADD ./target/city_asset_app-1.0-SNAPSHOT.jar ./

CMD sleep 60;java -Xms1g -Xmx4g -Djava.security.egd=file:/dev/./urandom -jar city_asset_app-1.0-SNAPSHOT.jar
初始内存1G,最大内存4G
重新打包镜像,启动容器。问题消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值