【发布时间】:2011-11-01 19:33:28
【问题描述】:
我在 Heroku 上用 Sinatra 和 jQuery 创建了一个小型聊天应用程序。它只是在用户提交消息时将消息插入数据库。并且每 2 秒下载一次新消息。经过几分钟的测试,它停止工作,我收到了一封来自 heroku 的电子邮件:
嗨,
我们注意到 gisekchat 应用有大量连接 打开共享数据库。我们不得不限制连接数 由于性能原因,共享数据库。你也可以吗 减少与共享数据库的总连接数或移至 专用数据库?
您似乎没有利用连接池 并为来自的每个请求打开一个到数据库的新连接 你的应用程序。
谢谢, -克里斯
这是支持提交消息的动作(接收非常相似):
post '/send' do
con = con = PGconn.connect($dbhost, 5432, "","",$dbname, $dbuser, $dbpass)
con.exec("insert into messages(usr, msg, date) values('#{params[:usr]}','#{params[:msg]}', now())")
end
我应该如何更改它以启用连接池?
【问题讨论】: