我的应用程序日志出现以下错误
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 CPU 使用率始终保持在 80% 以上的非常高的水平。我正在使用m3.medium
实例。