Я новичок в мире Linux и администрирования серверов, и я застрял.
У меня есть приложение rails, которому иногда нужно вставлять большие данные, обычно около 20 000 строк. Код, кажется, отлично работает в разработке (osx), но на производственных серверах (ubunto, на linode vps) он каждый раз дает сбой, обычно после примерно 1700 вставок. Точное число варьируется (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, unicorn.
Действительно следующие шаги развертывания, описанные в: http://railscasts.com/episodes/335-deploying-to-a-vps
Другие примечания:
а) Я пробовал оборачивать и не оборачивать вставки ActiveRecord в транзакцию. Нет разницы.
б) Ruby проделывает большую работу по сбору и организации данных перед их вставкой в базу данных. Это включает в себя несколько вызовов стороннего веб-сервиса. Но я подтвердил, что эта связь прошла успешно, и данные в порядке.
Любые идеи? Или, по крайней мере, какие-либо предложения относительно того, где я могу продолжить расследование? Огромное спасибо,