2013-02-21 72 views
1

最近我的mysql 5.5.27表现很差。我已经改变了配置中的所有内容,试图看看它是否会带来好运。我正在锁定桌子,每桌不断达到6-9个锁。我的选择查询需要永久300秒 - 1200秒。来自MySQL的性能很差INNODB

所有内容迁移至引擎收录,因为它超过30,000个字符 http://pastebin.com/bP7jMd97

SYS活动

90%UPDATESSELECT

我慢查询日志备份INSERTS 10%。下面我有我的MySQL信息。请让我知道,如果有什么我应该添加,这将有所帮助。

Server version   5.5.27-log 
Protocol version  10 
Connection    XX.xx.xxx via TCP/IP 
TCP port    3306 
Uptime:     21 hours 39 min 40 sec 



Uptime: 78246 Threads: 125 Questions: 6764445 Slow queries: 25 Opens: 1382 Flush tables: 2 Open tables: 22 Queries per second avg: 86.451 

SHOW打开表

+----------+---------------+--------+-------------+ 
| Database | Table   | In_use | Name_locked | 
+----------+---------------+--------+-------------+ 
| aridb | ek   |  0 |   0 | 
| aridb | ey   |  0 |   0 | 
| aridb | ts   |  4 |   0 | 
| aridb | tts   |  6 |   0 | 
| aridb | tg   |  0 |   0 | 
| aridb | tgle   |  2 |   0 | 
| aridb | ts   |  5 |   0 | 
| aridb | tg2   |  1 |   0 | 
| aridb | bts   |  0 |   0 | 
+---------+--------------+-------+------------+ 

我撞了南墙,需要一些指导。谢谢!

+0

是导致问题,或启动它们关闭特定的语句? - 你是否也在相同的底层数据上使用了很多视图? – Steve 2013-02-21 16:34:08

+0

我没有注意到任何具体的陈述,它往往是随机的。我试图监视它发生的那一天的什么时间,但它是非常随机的。我没有任何“视图”我的任何数据。有插入和更新运行24/7无中止。我运行select来查看返回的数据。 – 2013-02-21 16:36:59

回答

1

从翻翻你的日志它似乎这个问题(我敢肯定你已经知道)是由于给定的更新/选择的数据量是存在的锁巨额/插入和可能与此同时。

如果不先知道大量没有提供的信息,例如表格,模式,硬件,配置,拓扑等的大小,那么很难给出性能提示 - 因此,这可能不是最好的地方无论如何广泛的问题!

我会继续我的答案是普通的,我可以,但有可能的事情来看待,或者尝试将是:

  1. 运行Explain的选择查询,并确保他们有选择地寻找数据,而不是进行全表扫描或浪费大量数据
  2. 离开服务器做它的插入和更新,但创造一个报告read replica,这样的数据不会被锁定
  3. 如果你在一个时间更新多行,认为提供约updating with a limit来阻止这么多的数据摹锁定
  4. 如果你能,delay the inserts缓解压力
  5. 看硬件修复,如让更多的索引/数据可以在内存中或举行IO性能和更大的内存固态硬盘有较大的缓冲