我們使用四個Amazon EC2實例(一個負載平衡器,一個數據庫和兩個應用程序)並且不斷髮生隨機超時。我們每天至少得到一次,有時甚至更多。下面是一些例子:Rails 3.0間歇性連接超時,執行過期錯誤
Errno::ETIMEDOUT: Connection timed out - connect(2)
/usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:546:in `initialize'
和
Timeout::Error: execution expired
[GEM_ROOT]/gems/activemodel-3.0.9/lib/active_model/attribute_methods.rb:354:in `match'
我不知道如何調試這些,因爲他們是不相關的應用程序代碼或服務器的負載。 CPU使用率通常徘徊在10%以下,最大峯值高達60%。峯值很可能是由於運行備份造成的,並且不符合超時錯誤的時間。
如何追蹤這些類型的錯誤?
我追查了第二個問題。原來是一個應用程序問題。有一些代碼被困在一個循環中,所以看起來問題在其他地方。第一個,我還不確定。 –