在httpd日志中伴随着“服务器似乎很忙”的TRUNCATE非常慢

时间:2010-06-28 13:36:11

标签: mysql insert performance truncate apache

我有这个非常简单的表,在5个简单的列上只有35行(id自动增量的主键,标题(varchar),bool和2个日期时间)。 当我们在团队中工作时,我们从Google Docs导入数据,将其重新命名为SQL以执行TRUNCATE-> LOCK TABLE WRITE-> INSERT INTO(多行) - > UNLOCK TABLE。 在其他更大,更复杂的表上,它工作得非常精细,整个过程在一秒钟内完成。但在这个问题上,它总是需要5到7分钟才能完成。问题是它触发了其他表的锁定,并且在此期间系统基本上都处于停机状态。

当系统停机时,我抓住了> SHOW FULL PROCESSLIST;并发现: - TRUNCATE需要很长时间,状态代码“检查权限”超过200秒。 - 由于某种原因,当这个问题发生时,httpd日志吐出“服务器似乎很忙......”并且Apache在所有前端实例上冻结。

我试图在网上寻找类似的案件是徒劳的。如果有人能给我们一个有用的洞察力,那真的可以拯救我们的生命......谢谢!

  • 数据库服务器:m2.2xlarge实例@ EC2
  • 前台服务器:m1.large instances @ EC2
  • MySQL版本:5.0.77
  • GUI客户端:phpmyadmin 3.2.3
  • 数据库存储类型:MyISAM

1 个答案:

答案 0 :(得分:1)

这听起来很奇怪,你尝试过做DROP TABLE和CREATE作为解决方法吗?这可以帮助您找出问题。