您的位置:首页 > 数据库 > Redis

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

2019-08-16 17:22 951 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_39998006/article/details/99681801

摘要,一开始的时候我把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.csdn.net/flymoringbird/article/details/81483144)
输入下面的命令
docker network inspect bridge
然后可以看到下面的内容

拿到了redis的网桥 替换redis地址

重新进行之前的打包镜像 运行镜像
大功告成,虽然不是那么灵活吧,但是也算是一个小小的进步

压测结果 如下别问我为什么只测了一万九次

并发一千共一万九千次 47秒有点略卡 不过一个奔腾的cpu不能要求太高了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐