采矿池,go + redis,许多工作人员连接调用错误accept4:打开的文件过多

时间:2018-10-05 11:39:45

标签: go redis ethereum

尝试运行用go + redis编写的挖矿池。

当连接的工人不多时,可以正常工作。 但是,当有更多(超过1000个)工作人员尝试与服务器通信时,会导致错误

以这种方式调用redis_go。

  

tx:= r.client.Multi()
  ms:= util.MakeTimestamp()/ 1000
  推迟   tx.Close()

什么会引起问题?据我了解,最大连接数有问题吗?但是我该怎么解决。

谢谢。

error1

error2

ulimit为65536

更新(这种方式无济于事)

func (r *RedisClient) WriteHashRate(login string, id string, hashRate 
int64, expire time.Duration) {
tx := r.client.Multi()
ms := util.MakeTimestamp() / 1000

tx.Exec(func() error {
r.writeHashRate(tx, login, id, hashRate, expire, ms)
return nil
})

tx.Close()
}

0 个答案:

没有答案