【发布时间】:2012-07-10 06:46:56
【问题描述】:
我有这个项目拍卖门户,问题是有时用户无法出价或更好的词是请求出价有时需要2-3秒才能注册,冲突是在系统检测到有人出价之前,拍卖已经结束。
我添加了一个日志来查看发生了什么,这是我发现的:
Bid insert date | Auction close date
2012-06-25 14:40:57 2012-06-25 14:40:54
如您所见,拍卖已经结束,但出价处理晚了 3 秒。 澄清一下,如果拍卖已经结束,用户将无法出价,所以我确信该请求是在结束之前提出的。
这发生在每天 1 次拍卖中,我不知道是什么引发了这个问题。 我正在使用 PHP 和 MySQL。
【问题讨论】:
-
您能否提供一些关于您的网站是如何托管的信息?它只是一个 LAMP 服务器还是您有多个服务器,如果您使用哪种硬件和负载平衡。此外,有关您获得多少流量的信息将有助于确定这是否是您的代码或硬件的问题。
-
我们是否应该想象一下您的硬件、代码、您使用的查询等等?还是我们应该点击您提供的链接?
-
我们使用的是windows服务器,我对我们的服务器规格不熟悉。但我认为它足以支持每个请求。流量还没有那么高,因为只有不到 200 名成员,而且大多数人都不活跃。有正在运行的 mysql 事件在 X 秒内运行,用于检查每次拍卖的状态以及是否有人代表投标人设置了自动投标。我怀疑是mysql配置,但不知道要检查什么,我已经将一些表迁移到innoDB,因为大多数表都在变化
-
把问题转过来,有关系吗?如果您只关心用户在拍卖结束之前提交了出价,那么这可能没问题。如果你只是想知道是什么让你的服务器变慢了,那么主要检查的是任何需要几秒钟才能运行并且可能隐式锁定表的 mysql 语句。
-
服务时间将始终> 0,无论您优化到多少。所以你的业务逻辑必须应对这场竞赛。当您插入出价时,添加一个子句“when now()
标签: php mysql optimization