实时Web应用程序数据库(低延迟响应)

时间:2013-03-28 19:15:23

标签: php mysql

应用程序是需要查询速度的实时站点(选择,更新,插入)每个查询的低延迟必须小于200毫秒

嗯,平均每次查询98%。完成作业查询的时间小于0.001-0.005秒。

问题是 有时候每小时约5次,他们可能需要1s,可能是5s,我不知道问题的真正原因

我发现减少问题是从INNODB转移到MEMORY但有时仍然是一个问题,重要的是需要在系统崩溃时恢复。

Example query in sometime query more than 1 secound

# Time: 130328 20:27:40
# User@Host: ferge572w[ferge572w] @ localhost []
# Query_time: 1.339712  Lock_time: 0.000026 Rows_sent: 0  Rows_examined: 1
SET timestamp=1364477260;
UPDATE log_product SET credit=credit+1 WHERE id_product='149721921' and id_user='2029275' LIMIT 1;

table index: id_product, id_user
No.row: 33,491   table size: 5Mb

# Time: 130329  7:25:37
# User@Host: ferge572w[ferge572w] @ localhost []
# Query_time: 1.439856  Lock_time: 0.000031 Rows_sent: 0  Rows_examined: 1
SET timestamp=1364516737;
UPDATE product SET lastuser='hello',picperson='1',lastid='2030505',country='thailand',price=price+0.01,time=DATE_ADD(time, INTERVAL 3 SECOND) WHERE id='349721227' LIMIT 1;

table index: id
No.row: 35   table size: 2.1Mb

我的应用程序使用PHP和MYSQL

问题是为什么有时查询可能需要5秒钟的时间?

1 个答案:

答案 0 :(得分:3)

你对细节的了解很少。我在这里提供的答案尽可能简单:

使用SSD

如果你还没有使用SSD可能是个问题。传统的硬盘驱动器在随机I / O上很糟糕,并且在太忙而无法及时处理请求时会陷入困境。当I / O周期出现并且性能下降时,MySQL似乎陷入了绝对的恐慌。