Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是什么导致Colfusion中出现神秘的悬垂线->;mysql通信_Mysql_Coldfusion_Fusionreactor - Fatal编程技术网

是什么导致Colfusion中出现神秘的悬垂线->;mysql通信

是什么导致Colfusion中出现神秘的悬垂线->;mysql通信,mysql,coldfusion,fusionreactor,Mysql,Coldfusion,Fusionreactor,Coldfusion中一个更有趣的“特性”是它如何处理外部请求。它的基本要点是,当通过或任何其他类似的外部请求对外部源进行查询时,它会将外部请求传递给特定的驱动程序,此时CF本身无法挂起它。即使在查询或CFSETING中指定了超时,对于所有外部请求,它也会被完全忽略 考虑到这一点,我们遇到的问题是,我们的CF服务器和mySQL服务器之间的通信有时会出错,留下挂起的线程。它们具有以下特点 挂起的线程显示在CF中,不能从FusionReactor中终止 mySQL中没有可见的挂起线程,也没有活动的

Coldfusion中一个更有趣的“特性”是它如何处理外部请求。它的基本要点是,当通过
或任何其他类似的外部请求对外部源进行查询时,它会将外部请求传递给特定的驱动程序,此时CF本身无法挂起它。即使在查询或CFSETING中指定了超时,对于所有外部请求,它也会被完全忽略

考虑到这一点,我们遇到的问题是,我们的CF服务器和mySQL服务器之间的通信有时会出错,留下挂起的线程。它们具有以下特点

  • 挂起的线程显示在CF中,不能从FusionReactor中终止
  • mySQL中没有可见的挂起线程,也没有活动的运行查询(只是通常的休眠)
  • 数据库正在响应其他调用,并且似乎运行正常
  • 尚未达到数据库或用户的最大连接数
  • 在我看来,唯一可能的候选者是,不知何故,CF发出了一个请求,mySQL正在响应该请求,但CF忽略了一个答案,并继续保持线程打开,等待mySQL的响应。这就解释了为什么数据库似乎没有显示问题的迹象,但CF保持一个线程打开,等待神秘的答案

    通常,这些挂起的线程随机出现在其他工作脚本上(例如在新闻文章上发表评论)。即使该脚本的一个线程挂起,对该脚本的其他请求也会通过,这意味着该脚本不一定是错误的,而是执行脚本时所面临的条件

    我们运行了一些测试来确定这不是mysql生成的max_connections错误。。。我们创建了一个用户,给它最多1个连接,将该连接与一个sleep(1000)查询绑定,然后执行另一个查询。不幸的是,它在没有生成挂起线程的情况下正确地出错了


    所以,我现在完全不知道出了什么问题。是否存在其他可能导致服务器之间通信出错的连接限制或超时

    您应该开始关注两台服务器之间的硬件。您可能有路由器、网桥或NIC偶尔丢弃数据包。这可能会导致mySQL框认为它已经完成了任务,而CF服务器则坐在那里无限期地等待完整的响应,从而创建挂起的线程


    3com在这里提供了一些关于数据包丢失测试的详细信息:

    您应该开始了解两台服务器之间的硬件。您可能有路由器、网桥或NIC偶尔丢弃数据包。这可能会导致mySQL框认为它已经完成了任务,而CF服务器则坐在那里无限期地等待完整的响应,从而创建挂起的线程


    3com在这里提供了一些关于数据包丢失测试的详细信息:

    我们在MS SQL server上遇到了类似的问题。在这里,根本原因是一个已知的问题,由于某种原因,服务器认为它正在关闭,线程挂起(尽管服务器显然没有关闭)

    我们无法消除这个问题,但可以通过关闭池数据库连接和调整连接刷新率来减少它。(我想我的标签是对的——在我的新工作中无法访问administrator。)两者都位于administrator中的连接属性中


    请注意:问题不完全在于CF。显然,这个问题影响到所有Java应用程序。无论如何,这并没有减少我对此的恼怒。

    我们在MS SQL server上也遇到了类似的问题。在这里,根本原因是一个已知的问题,由于某种原因,服务器认为它正在关闭,线程挂起(尽管服务器显然没有关闭)

    我们无法消除这个问题,但可以通过关闭池数据库连接和调整连接刷新率来减少它。(我想我的标签是对的——在我的新工作中无法访问administrator。)两者都位于administrator中的连接属性中


    请注意:问题不完全在于CF。显然,这个问题影响到所有Java应用程序。无论如何,这并不能减少我对此的恼怒。

    长话短说,但我相信这是由于Coldfusion的CF8图像处理造成的。这只是个问题,现在在CF9中,我再也没有看到过这个问题。

    长话短说,但我相信造成这个问题的原因是Coldfusion的CF8图像处理。它只是一辆四轮马车,现在在CF9中我再也没有看到过这个问题。

    到底出了什么问题?您是否正在耗尽某种资源(可能是线程)?你的跑步请求是否达到最大?到底出了什么问题?您是否正在耗尽某种资源(可能是线程)?您是否正在最大限度地使用您的运行请求?CF 11和MySql im面临相同的问题,但尚未找到解决方案:(CF 11和MySql im面临相同的问题,但尚未找到解决方案:(