Database 由于许多连接错误,Drupal网站被阻止-网站脱机

Database 由于许多连接错误,Drupal网站被阻止-网站脱机,database,drupal,drupal-6,amazon-rds,Database,Drupal,Drupal 6,Amazon Rds,从Drupal 6.20系统到Mysql数据库的数据库连接数有时会达到100-150,过一段时间网站就会离线。尝试手动连接到Mysql时出现的错误消息是“由于许多连接错误而被阻止。请使用“mysqladmin flush hosts”取消阻止”。由于数据库托管在AmazonRDS上,我没有发出此命令的权限,但我可以重新启动数据库,一旦重新启动,网站将再次正常工作。直到下次 Drupal在脱机之前报告多个错误,有两种类型: 重复条目 键为“279890-0-all” “主要”查询: 节点访问写入授

从Drupal 6.20系统到Mysql数据库的数据库连接数有时会达到100-150,过一段时间网站就会离线。尝试手动连接到Mysql时出现的错误消息是“由于许多连接错误而被阻止。请使用“mysqladmin flush hosts”取消阻止”。由于数据库托管在AmazonRDS上,我没有发出此命令的权限,但我可以重新启动数据库,一旦重新启动,网站将再次正常工作。直到下次

Drupal在脱机之前报告多个错误,有两种类型:

重复条目 键为“279890-0-all” “主要”查询: 节点访问写入授权/*来宾: 节点访问写入授权*/INSERT 进入节点访问(nid、领域、gid、, 授权视图,授权更新, 授予(删除)值(279890, “全部”,0,1,0,0)英寸 /var/www/quadplex/drupal-6.20/modules/node/node.module 在线2267

超过锁定等待超时;尝试 正在重新启动事务查询: 内容\写入\记录/*客人: 内容\写入\记录*/更新 内容\字段\评级集vid=503621, nid=503621,字段额定值= 1212,其中vid=503621英寸 /var/www/quadplex/drupal-6.20/sites/all/modules/cck/content.module 在线1213

这两个查询中的NID总是相同的,并且引用两个节点,它们经常由自定义模块自动更新。我可以追踪这些错误与Apache日志中异常多的web请求之间的关联。我会理解,网站会因此变得更慢。但是:

  • 为什么会出现这些错误?如何解决这些错误?在我看来,这与多个web请求试图同时更新同一个节点有关。但是Drupal肯定应该通过锁定表等方式来解决这个问题吗?或者我应该用某种特殊的方式来处理它

  • 尽管web负载较高,但为什么数据库会完全锁定并需要重新启动?如果网站仍然可以访问Mysql,那么一旦负载降低,它就可以再次提供页面服务,这不是更好吗?这有什么设置吗


  • 谢谢大家!

    可以解决以下三个问题中的一个或全部:

  • 磁盘空间用完了吗?在ssh中,键入命令df-h并确保您仍然有磁盘空间

  • 桌子损坏了吗?修复phpMyAdmin中的表,或此处的CLI说明:

  • 您是否使用/etc/my.cnf对mysql进行了性能调优?有关更多想法,请参见此:


  • 请显示此自定义模块代码段。您是否尝试关闭数据库记录器?您应该提供模式详细信息。我能给你的唯一建议就是尝试将你的表从MyIsam转换为InnoDB。我们需要知道在复制密钥条目之前会发生什么。堆栈跟踪、错误、日志条目等等。