【发布时间】:2013-11-20 10:33:14
【问题描述】:
我很好奇我应该如何使用 Mgo 库以 Go 语言构建 JSON REST API 服务器。我有几十个相互关联的集合。我用我当前的方法创建了the gist,其中包含文件结构的示例部分。
效果很好,但有时我会遇到由以下错误导致的停机:“read tcp 10.168.30.100:37288: i/o timeout”。我想我不恰当地处理了mgo连接池。有没有例子说明我应该如何基于 mgo 创建大型应用程序?
【问题讨论】:
-
您是否在 MongoDB 中创建过任何大型应用程序?我的意思是可能是问题,因为你的数据模型不是那么好,那么加载你需要的所有数据所花费的时间(只是客人:D)
-
在大多数情况下它都非常快。服务器重启后这个问题就消失了。
-
您是否尝试为每个请求创建与 mongodb 的新连接(我的意思是 http 处理程序中的 cal mgo.Dial)。也许分析你的程序会对你有所帮助。
-
我有一个 node.js 应用程序正在生产中,有超过 100.000 个用户,但它也遇到超时问题,所以也许解决方案可能更通用。该服务器大部分时间在 20-200 毫秒内按请求工作。