在MySQL备份期间,Railo网站无法连接

时间:2014-02-17 11:01:06

标签: mysql coldfusion railo

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

当此数据库备份运行时,我的所有其他铁路网站都无法连接并在备份期间“关闭”。

我设法捕获的错误之一是:

"[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”网站)因备份而被锁定,这是公平的。

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

非常感谢任何见解。 感谢

1 个答案:

答案 0 :(得分:0)

一种可能性是因为你的超时似乎是20分钟,每次请求进入正在备份的站点时,该线程就会阻塞等待数据库。

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

我不是调试Railo的专家,但上面的内容对我来说似乎是合理的。您可以考虑为不同的站点运行不同的Railo进程,这会隔离它们或大幅降低数据库超时(如果可接受)。