0

我很好奇我应该如何使用Mgo库以Go语言构建 JSON REST API 服务器。我有几十个相互关联的集合。我已经在我当前的方法中创建了带有文件结构示例部分的要点。

它工作得很好,但有时我会遇到由此错误引起的停机:“read tcp 10.168.30.100:37288: i/o timeout”。我想我不恰当地处理了mgo连接池。是否有任何示例显示我应该如何基于 mgo 创建大型应用程序?

4

1 回答 1

5

此错误消息意味着到数据库的往返时间比您定义的超时时间长。假设您没有任何导致应用程序运行缓慢的实际问题,只需增加该超时即可解决问题。

一般来说,这个错误并不意味着你有任何规模问题,除了事实可能你在某些集合中有越来越多的数据并且某些查询可能变得太慢并且需要重新思考(索引等) .

也无需重新启动应用程序。您可以刷新有问题的会话,或者关闭并重新创建会话,以防您使用主会话的副本。mgo 和连接池的状态仍然很好。它只是警告您此特定会话在线路上观察到问题,因此您必须在会话再次有效之前确认它。

像往常一样,还要确保使用最新版本以避免已经修复的问题(如果有的话)。

于 2013-11-08T13:48:02.243 回答