我的系统由三部分组成:CMS/平板电脑(APP)/MySQL 数据库。 CMS 有一个 API,可以处理来自 APP 的数据并将其保存到数据库中,以便显示在 CMS 上。
问题:APP向API(循环)发送了大约100个条目请求(json)。然后,API 读取每个请求,并为每个请求向数据库发送超过 10 个插入查询。
不幸的是,这些插入查询中只有一半成功,其余则失败。但是,当我发送 1 或 2 个请求时,插入需要几秒钟的时间才能完成,但最终工作正常。
请您帮我指出可能导致MySQL插入查询延迟的可能性吗?
最佳答案
在我看来,您的应用程序正在向您的网络端点发送大量请求,而不等待它们完成或检查它们的返回状态。
在这种情况下,运行 php 程序的 Web 服务器会将请求放入队列,直到队列填满,然后拒绝它们。您永远不会知道排队或拒绝,因为您不等待。
如果一个请求的插入需要三秒,那么 100 个请求应该需要 300 秒(五分钟)。您的应用程序应该需要那么长时间才能完成所有请求。如果不需要那么长时间,则可能没有等待状态。
很明显,对于典型的移动应用程序来说,五分钟的等待时间实在是太长了。但这是一个不同的问题。您应该在解决丢失请求问题之后再解决它。
关于php - 可能导致 MySQL 插入查询延迟的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962561/