Railo网站可以';MySQL备份期间无法连接

Railo网站可以';MySQL备份期间无法连接,mysql,coldfusion,railo,Mysql,Coldfusion,Railo,我有一个每周备份,用于我的一个网站(CCM)的一个mysql数据库。此备份大约为1.2GB,运行大约需要30分钟 当此数据库备份运行时,我的所有其他railo网站都无法连接,并且在备份期间处于“关闭”状态 我发现的一个错误是: "[show] railo.runtime.exp.RequestTimeoutException: request (:119) is run into a timeout (1200 seconds) and has been stopped. open locks

我有一个每周备份,用于我的一个网站(CCM)的一个mysql数据库。此备份大约为1.2GB,运行大约需要30分钟

当此数据库备份运行时,我的所有其他railo网站都无法连接,并且在备份期间处于“关闭”状态

我发现的一个错误是:

"[show] railo.runtime.exp.RequestTimeoutException: request (:119) is run into a
timeout (1200 seconds) and has been stopped. open locks at this time (c:/railo/webapps/root/ccms/parsed/photo.view.cfm,
c:/railo/webapps/root/ccms/parsed/profile.view.cfm, c:/railo/webapps/root/ccms/parsed/album.view.cfm,
c:/railo/webapps/root/ccms/parsed/public.dologin.cfm)."
我认为正在发生的是,这些页面(“ccms”网站)所需的表由于备份而被锁定,这是公平的

但是,为什么这会导致其他railo网站超时?例如,我上面粘贴的错误实际上是从另一个网站获取的,而不是它在错误中引用的“ccms”网站。我尝试运行的任何网站都会失败,并抛出一个引用“ccms”网站的错误,该网站正被备份。我如何避免这种情况

如有任何见解,将不胜感激。
感谢

一种可能性是,由于超时时间似乎为20分钟,因此每次请求进入正在备份的站点时,线程都会阻止等待数据库

Railo有一个工作线程池来处理请求,现在其中一个被占用了。随着请求不断传入,对受影响站点的任何请求都会占用另一个线程。最终,池中不再有工人,所有后续请求都将排队等待工人可用后处理


我不是调试Railo的专家,但我觉得上面的说法似乎是合理的。您可以考虑为不同的站点运行不同的Realo进程,这将隔离它们或大幅降低您的DB超时(如果可以接受的话)。p> 谢谢,这很有道理。我会调查的。