开启大概1000个协程,每个协程里面都发送一个post请求,但是大部分请求都报socket错误

golang_gc · 2018-01-06 17:25:07 · 2000 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-01-06 17:25:07 的主题,其中的信息可能已经有所发展或是发生改变。

错误如下: dial tcp: lookup api.weixin.qq.com on 183.60.83.19:53: dial udp 183.60.83.19:53: socket: too many open files


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2000 次点击  
加入收藏 微博
7 回复  |  直到 2018-01-25 22:10:45
kaneg
kaneg · #1 · 7年之前

可能与ulimit有关,你的系统是不是redhat或centos?该系统默认的文件句柄比较少,你可以用ulimit -a 查看

bensinos
bensinos · #2 · 7年之前

socket: too many open files 很显然

juntaran
juntaran · #3 · 7年之前

ulimit -n 204800 再试下

golang_gc
golang_gc · #4 · 7年之前

@juntaran 是centos太少了默认为1024,改了之后便好了

xiaohaoxiong
xiaohaoxiong · #5 · 7年之前

可以sleep一会继续post 这样比较好

golang_gc
golang_gc · #6 · 7年之前
juntaranjuntaran #3 回复

ulimit -n 204800 再试下

但是将最大文件数设置为40多万,还是报这样的错误

golang_gc
golang_gc · #7 · 7年之前
golang_gcgolang_gc #4 回复

@juntaran 是centos太少了默认为1024,改了之后便好了

但是将最大文件数设置为40多万,还是报这样的错误

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传