不知道有没有人遇到过,Mongrel假死,Web访问无反应
关键词:Mongrel,Web,SCGI Mongrel,Rails,SCGI,Windows,LightTPD,on Rails RoR,Apache
chrishzb: 相关文章: X
对SCGI/Mongrel的作者的访谈(关於Rails企业级应用、放弃SCGI等的言论)
在Windows平台使用LightTPD和Mongrel运行Ruby on Rails
RoR部署方案深度剖析
<img src=http://www.javaeye.com/images/icon_more.gif/>
我这里用Mongrel 部署了应用 , 用浏览器直接访问mongrel (没通过Apache 、Lighttpd 之类的)
是没问题的。
第二天早上再访问,就没反应了。症状是浏览器进度条在走,页面空白,十几二十分钟没反应。
必须强制重启 Mongrel 才能正常访问。
不知道有没有人有这样的经历。
知道怎样找到解决方案吗?
idragon: 我也遇到过这个问题,没有解决:(chrishzb: 呀, 那就郁闷了。我被这个问题困扰了两周了lgn21st: 我提供一个思路您试试看: Mongrel stops working if it’s left alone for a long time. If you find that Mongrel stops working after a long idle time and you’re using MySQL then you’re hitting a bug in the MySQL driver that doesn’t properly timeout connections. What happens is the MySQL server side of the connection times out and closes, but the MySQL client doesn’t detect this and just sits there. What you have to do is set: ActiveRecord::Base.verification_timeout = 14400 Or to any value that is lower than the MySQL server’s interactive_timeout setting. This will make sure that ActiveRecord checks the connection often enough to reset the connection. 因为服务器端每隔28800秒检查一次客户端链接,而客户端确不做这个检查,假如超过28800服务器端收不到客户链接,就释放掉这个链接了,解决办法是在客户端AR上设置超时检查,时间正好是服务器端检查的一半,楼主试试看能不能解决。pkysoft: 我也遇到了,只要数据库和应用不再同一个服务器一定会出现,用了很多办法包括楼上说的都没用,后来就用cron让系统自动一分钟访问应用,基本可以解决,再后来干脆换lighttpd,什麽问题也没了。
这问题出现非常久了,不知道为什麽至今没有解决,而且也鲜有人提出,我还觉得就自己这么倒霉了。netco: pkysoft 写道我也遇到了,只要数据库和应用不再同一个服务器一定会出现,用了很多办法包括楼上说的都没用,后来就用cron让系统自动一分钟访问应用,基本可以解决,再后来干脆换lighttpd,什麽问题也没了。
这问题出现非常久了,不知道为什麽至今没有解决,而且也鲜有人提出,我还觉得就自己这么倒霉了。
我的数据库和应用就不在一台机器上面,用了2个月了都没有出现过这样的问题,环境是Apache2.0.59+Mongrelphoenix520: 我也遇到过这种情况,数据库和应用服务器是在同一台电脑上的,结果写了一个线程去定时访问web服务来解决这个问题。lihaona: 常常遇到mongrel假死,在xp系统下,当鼠标无意中选中了console窗口的一段内容,mongrel 就会假死,鼠标单击console窗口,就会解决iamawalrus: gdb attach上,看看call stack,死在哪一看就明白。chrishzb: 我用了个别的方法解决了。写了个 crontab 定期通过mongrel访问数据库保持数据库链接可用seacolor: 这个问题我碰到过,现在已经彻底解决。
我部署 redmine + mongrel + mysql5 后,每天早上总无法访问redmine. 经过分析,主要问题确实在数据库连接上。是ruby 自带的mysql连接器的问题。
安装 mysql/ruby 2.7.3 后,该问题再也没有出现。
具体可以参考: http://rubyforge.org/forum/forum.php?thread_id=16180&forum_id=7505dazuiba: lihaona 写道常常遇到mongrel假死,在xp系统下,当鼠标无意中选中了console窗口的一段内容,mongrel 就会假死,鼠标单击console窗口,就会解决
您这个不是假死,是dos开了“快速编辑模式”,鼠标选中某内容后,除非按回车键或点鼠标右键,要不然windows会一直暂停该程序。yautah: seacolor 写道这个问题我碰到过,现在已经彻底解决。
我部署 redmine + mongrel + mysql5 后,每天早上总无法访问redmine. 经过分析,主要问题确实在数据库连接上。是ruby 自带的mysql连接器的问题。
安装 mysql/ruby 2.7.3 后,该问题再也没有出现。
具体可以参考: http://rubyforge.org/forum/forum.php?thread_id=16180&forum_id=7505
正正正解!!!!!
自带的mysql连接确实有问题,基本撑不过一晚上mongrel就会假死
gem install mysql
问题解决!lgn21st: 我的问题是ruby自带的mysql链接器(mysql驱动)是哪一个?
比如,我用Ubuntu,安装ruby我用的是Ubuntu源里面自带的二进制版本
顺便我也会安装libmysql-ruby
这样我的ruby就能用native驱动访问mysql了,您们所说的ruby自带mysql驱动问题是指这个么?
另外假如没有安装任何mysql的ruby驱动,rails就会用自带的一个纯ruby实现的mysql驱动,是这个驱动有问题么?