【问题标题】:Zend Framework Multiple Database Stop Working with slow queryZend Framework 多数据库停止使用慢查询
【发布时间】:2017-09-09 17:08:34
【问题描述】:

我正在运行一个大型 Zend Framework Web 应用程序,其中包含 5 个数据库,彼此独立,分布在 2 个数据库服务器上,运行在 Mysql 5.6.36 - CentOS7 上,每个服务器具有 16gb ram 8 核处理器。但是,如果 2 台数据库服务器中的一台因为查询速度慢而停止响应,则另一台服务器上的用户将无法访问 Web 应用程序。打开应用程序的唯一方法是在该服务器上重新启动 mysql。我尝试不同的事情但没有成功。奇怪的是,如果我关闭其中一台服务器,系统仍然可以正常工作。

【问题讨论】:

    标签: php mysql database zend-framework database-connection


    【解决方案1】:

    很难提供有意义的答案,因为您没有向我们提供有关您的表格或查询的任何信息(事实上,您根本没有提出任何问题,您只是给我们讲了一个故事!:- )。

    我会猜测您正在为您的一个或多个表使用 MyISAM。这意味着来自一个客户端的查询会锁定它查询的表,并阻止来自其他客户端的并发更新。

    要确认您是否遇到此问题,请在您遇到 Web 应用程序之间的争用时在您的两台数据库服务器上分别使用 SHOW PROCESSLIST。您可能会看到一堆等待锁定的查询(它可能出现在进程列表中,状态为“正在更新”)。

    如果是这样,如果您将表的存储引擎更改为 InnoDB,您的运气可能会更好。见https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 2015-03-24
      • 2014-09-05
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 2021-12-30
      相关资源
      最近更新 更多