问题描述
我有一个名为Tendermint的工具,该工具使用Golang编写。它处理事务并创建块(有意省略细节)。可以通过WebSocket服务器提交事务。块被配置为每秒创建一次。
现在,当我打开两个或多个WS连接并提交超出应用程序处理能力的事务时,Tendermint会被卡住。
在此期间,它不会创建任何块,而是会花费大部分时间来处理WebSocket IO。
我仍然不了解这些暂停的确切性质。也许这里有人知道或可以提出正确的问题?另外,我想知道限制IO的方法是什么?节流每个连接?
注意:我正在将https://github.com/gorilla/websocket用于WebSockets。可以在here上找到我们的WS服务器。 谢谢您的时间!
UPD 1:通过在WS服务器中批量处理响应,我设法使暂停变得平坦(请参见https://github.com/tendermint/tendermint/issues/3905#issuecomment-684860429)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)