我们使用四个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%。峰值很可能是由于运行备份造成的,并且不符合超时错误的时间。
如何追踪这些类型的错误?
我追查了第二个问题。原来是一个应用程序问题。有一些代码被困在一个循环中,所以看起来问题在其他地方。第一个,我还不确定。 –