Ошибка тайм-аута соединения

Я получаю следующую ошибку в журналах приложений

ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)

Мое приложение требуется, чтобы создать слишком много фоновых работников. я использую sucker-punch gem для фоновых заданий. Я реализовал инструмент Rollbar для мониторинга сбоев приложений, и он сообщает

10 occurrences in 5 minutes: #8 ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)

Я не уверен, почему это происходит, но я чувствую, что некоторые из моих второстепенных заданий время от времени ломаются. Во многих местах я делаю соединения с БД, используя ActiveRecord::Base.connection.execute команда.

Мой размер пула БД установлен в 100и статистика MYSQL:

Aborted_connects    **51088**
Connection_errors_accept    **0**
Connection_errors_internal  **0**
Connection_errors_max_connections   **0**
Connection_errors_peer_address  **8**
Connection_errors_select    **0**
Connection_errors_tcpwrap   **0**
Connections **1232264**
Max_used_connections    **115**
Performance_schema_session_connect_attrs_lost   **0**
Ssl_client_connects **0**
Ssl_connect_renegotiates    **0**
Ssl_finished_connects   **0**
Threads_connected   **12**

Что-то не так с приложением? Кроме того, просто информация, помогающая решить проблему. Процессор AWS EC2 всегда остается очень высоким - более 80%. я использую m3.medium пример.

0 ответов

Другие вопросы по тегам