windows10 下golang压测redis分布式锁动态端口耗尽解决办法

本文分享了将Golang应用打包为Docker镜像并进行压力测试的经验,解决了因Redis地址配置错误导致的问题,通过正确配置Redis网桥地址实现了与Docker内Golang应用的稳定通信。

摘要,一开始的时候我把redis丢在docker里面运行然后本机调用docker内的redis进行测试,基本上一次压测也就是一万左右连接就会出现极少数的端口耗尽的报错,然后一直苦苦寻找解决办法,后来突发想起了docker内部使用了虚拟网关可以帮助我们创建爱网关把golang的二进制文件丢进docker里面运行

第一步先吧golang打包成linux二进制文件 配置个环境变量就行 GOOS=linux就行
然后第二部编写Dockerfile

FROM golang:latest

WORKDIR $GOPATH/src/
COPY httpceshi $GOPATH/src/
RUN chmod +x $GOPATH/src/httpceshi
EXPOSE 9090
ENTRYPOINT ["./httpceshi"]

然后 输入 docker build -t xxxxx .

xxxxx是你要打包成镜像的名字 然后不要忘了后面的 . 表示当前目录
接下来运行镜像
docker run -p 9090:9090 xxxx

用Apache的ab进行压测然后,呵呵redis地址失效 之前用的127.0.0.1:6379习惯了没有改,哦吼,完犊子,各种百度
下面是找到的一个解决办法,不一定适用你,如果不好使,请自行解决 (这是我找到的一个帖子感觉写的挺不错的但是我没搞懂 链接:https://blog.youkuaiyun.com/flymoringbird/article/details/81483144)
输入下面的命令
docker network inspect bridge
然后可以看到下面的内容
在这里插入图片描述
拿到了redis的网桥 替换redis地址
在这里插入图片描述
重新进行之前的打包镜像 运行镜像
大功告成,虽然不是那么灵活吧,但是也算是一个小小的进步
在这里插入图片描述
压测结果 如下别问我为什么只测了一万九次
在这里插入图片描述
并发一千共一万九千次 47秒有点略卡 不过一个奔腾的cpu不能要求太高了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值