我是 linux 和服务器管理领域的新手,我被困住了。
我有一个 Rails 应用程序,它偶尔需要执行大数据插入,通常大约 20,000 行。该代码似乎在开发(osx)中运行良好,但在生产服务器(ubunto,linode vps)上,它每次都失败,通常在大约 1,700 次插入之后。确切的数字各不相同(1655、1697、1756),但始终如一。
我在 production.log 文件中没有看到太多有用的信息。只是:
Connecting to database specified by database.yml
失败后一秒钟左右。
在 postgresql 主日志中:
2012-10-21 23:01:28 EDT LOG: could not receive data from client: Connection reset by peer
2012-10-21 23:01:28 EDT LOG: unexpected EOF on client connection
我正在运行 Rails 3.2.8、ruby 1.9.3-p194、psql 1.9.4、nginx、独角兽
真正遵循以下部署步骤: http ://railscasts.com/episodes/335-deploying-to-a-vps
其他注意事项:
a) 我已经尝试在事务中包装而不是包装 ActiveRecord 插入。没有区别。
b) Ruby 在插入数据库之前做了大量工作来收集和组织数据。这包括对第三方 Web 服务的多次调用。但是我已经确认这些通信是成功的,并且数据看起来很好。
有任何想法吗?或者至少有什么关于我可以在哪里继续调查的建议?非常感谢,