【发布时间】:2010-03-11 09:15:29
【问题描述】:
我们的数据库的插入和更新性能很差。大多数大表每次插入需要 2-3 秒。如果我们重建表,时间减少到 0.02-0.03,这意味着每秒大约 40 次插入。即使这样也很低,我们不能不时重建表。这是一个耗时的过程,并在持续时间内锁定表。 如果我们将插入分组到事务中,性能会提高。但是在我们的应用程序中,我们需要立即提交插入。 任何人都可以建议可以做些什么来提高插入性能。
这里是来自服务器的 mysqlreport,如果它表明任何东西: 值得注意的一点是 Com_rollback 在我们的服务器上非常高。这可能意味着什么?
MySQL 5.0.51a-3ubuntu5。正常运行时间 2 22:23:11 Thu Mar 11 09:13:33 2010
__ 键 _________________________________________________________________
缓冲区已使用 70.03M of 3.00G 已使用百分比:2.28
当前 552.19M % 使用率:17.97
写入命中率 78.74%
阅读命中率 99.63%
__ 问题___________________________________________________________
总 803.30M 3.2k/s
Com_ 606.44M 2.4k/s %总计:75.49
QC 达到 130.15M 513.7/s 16.20
DMS 47.99M 189.4/s 5.97
+未知 18.69M 73.7/s 2.33
COM_QUIT 32.23k 0.1/s 0.00
慢 (10) 3.24k 0.0/s 0.00 %DMS:0.01 日志:ON
DMS 47.99M 189.4/s 5.97
选择 40.94M 161.6/s 5.10 85.30
插入 3.92M 15.5/s 0.49 8.16
更新 2.85M 11.2/s 0.35 5.93
删除 291.57k 1.2/s 0.04 0.61
替换 0 0/s 0.00 0.00
Com_ 606.44M 2.4k/s 75.49
设置选项 467.34M 1.8k/s 58.18
回滚 126.23M 498.2/s 15.71
提交 11.44M 45.2/s 1.42
__ 选择和排序_____________________________________________________
扫描 85.20k 0.3/s %SELECT: 0.21
范围 1.91M 7.5/s 4.67
完全连接 126 0.0/s 0.00
范围检查 0 0/s 0.00
全 rng 加入 0 0/s 0.00
排序扫描 914 0.0/s
排序范围 191.09k 0.8/s
排序mrg pass 0 0/s
__ 查询缓存 _________________________________________________________
内存使用 190.04M of 1.00G %Used: 18.56
块碎片 24.36%
达到 130.15M 513.7/s
插入 12.10M 47.8/s
插入:修剪 12.10M:1 47.8/s
命中:插入 10.75:1
__ 表锁 _________________________________________________________
等待 52.96k 0.2/s %Total:0.08
即时 63.16M 249.3/s
__ 表 ______________________________________________________________
打开 64 of 64 %Cache: 100.00
打开 1.07M 4.2/s
__ 连接 _________________________________________________________
最多使用 396 个,共 500 %Max:79.20
总计 49.06k 0.2/s
__ 创建的温度 ________________________________________________________
磁盘表 5.27k 0.0/s
表 47.47k 0.2/s 大小:200.0M
文件 27 0.0/s
__ 线程 _____________________________________________________________
245 场比赛中的第 18 场比赛
缓存 0 of 4 命中率:39.82
创建 29.53k 0.1/s
慢 0 0/s
__ 中止 _______________________________________________
客户端 33.67k 0.1/s
连接 13 0.0/s
__ 字节 _______________________________________________________________
发送 227.04G 896.0k/s
收到 106.15G 418.9k/s
__ InnoDB 缓冲池 __________________________________________________
使用 4.00G 的 4.00G %Used:100.00
阅读命中率 99.96%
页面
免费 0 % 总计:0.00
数据 251.34k 95.88 %Drty:0.86
杂项 10807 4.12
锁定 2 0.00
读取 13.04G 51.4k/s
从文件 5.02M 19.8/s 0.04
领先 Rnd 133920 0.5/s
提前 Sql 246973 1.0/s
写入 968.37M 3.8k/s
刷新 19.42M 76.6/s
等待免费 0 0/s
__ InnoDB 锁 _________________________________________________________
等待 1540 0.0/s 当前 0 时间获取 总计 1239283 毫秒 平均 804 毫秒 最大 51521 毫秒
__ InnoDB 数据、页面、行 _________________________________________
数据 读取 6.86M 27.1/s 写入 21.30M 84.1/s fsync 13.42M 53.0/s 待办的 读取 1 写入 0 同步 1
页面 创建 2.34M 9.2/s 读取 23.39M 92.3/s 写入 19.42M 76.6/s
行 删除 291.57k 1.2/s 插入 138.07M 544.9/s 读取 7.21G 28.5k/s 更新 2.78M 11.0/s
【问题讨论】:
标签: mysql