Ruby on Rails是单线程应用程序吗?我觉得它不支持任何并发性,特别是当我在做mysql查询时。Ruby on Rails并发性
我正在使用ruby 1.8.7和rails 2.3.11以及Phusion Passenger(全部由Bluehost提供)。什么我使用此外,这是对我的开发服务器看起来像
[2013-03-19 10:42:00] INFO WEBrick 1.3.1
[2013-03-19 10:42:00] INFO ruby 1.8.7 (2012-02-08) [universal-darwin12.0]
[2013-03-19 10:42:00] INFO WEBrick::HTTPServer#start: pid=23034 port=3000
以下情形严重,使我的应用程序无法使用:
步骤1:批量插入(大量的数据)< - 这得到当事务提交数据时卡住。
第2步:从不同的插入表中查询,获取JSON对象。
我可以告诉这是从控制台发生的。我试图增加“池”(我相信这会增加mysql并发连接),但它并没有提高我的性能。
对不起,误解,最后一句让我很困惑,是否涉及到使用后台进程或没有后台进程?您建议的后台进程是否会阻止其他mysql操作的“等待”? – freedom 2013-03-19 18:26:14
如果您在单独的后台进程中执行批量插入操作,那么在浏览器中触发插入操作的用户无需等待它完成,并且该导入工作进程不会被束缚。但是,如果批量插入发生在单个事务中,则无论您如何运行它,都无法查看数据,因为在事务完成之前,mysql会隐藏它。这很好,因为在事务结束之前,它可能会回滚;这首先是使用交易的主要观点。 – sockmonk 2013-03-19 18:34:36
好打电话,我一定会试试这个!谢啦 – freedom 2013-03-19 18:45:55