我正在使用PHP编写的Web应用程序。
此应用程序的一个功能是文档存档,它是另一台服务器上的MySQL数据库。而这个存档服务器在性能方面非常不可靠,但不在我的控制之下。存档服务器经常有很长的表锁,导致连接,但没有获取任何数据。
这通常会导致开放的MySQL连接,这会使Web应用程序服务器的资源饱和。结果,整个Web应用程序变得缓慢/无法使用。
我想将这两个系统解耦。
我认为逻辑方式是我的PHP应用程序中止SELECT
查询,如果花费超过1或2秒来释放资源并向用户显示远程系统没有响应的消息及时。
但是如何最好地实施这样的解决方案?
更新:set_time_limit()选项看起来是Promising。但并不完全令人满意,因为我无法向用户显示“消息”,但至少可能有助于防止资源饱和。