发送状态请求 pg_connection_busy() 时,请求是否区分“连接忙”和“服务器忙”?
换句话说,一个服务器有 100 个允许的连接,其中一个应用于当前脚本。所有 100 个连接同时发送一个查询,其中 99 个需要 2 秒以上的处理时间(理论上将服务器置于最大化状态,从而使其“忙碌”)。这 100 个请求中的一个是pg_server_busy()
请求。响应是True
还是False
?
发送状态请求 pg_connection_busy() 时,请求是否区分“连接忙”和“服务器忙”?
换句话说,一个服务器有 100 个允许的连接,其中一个应用于当前脚本。所有 100 个连接同时发送一个查询,其中 99 个需要 2 秒以上的处理时间(理论上将服务器置于最大化状态,从而使其“忙碌”)。这 100 个请求中的一个是pg_server_busy()
请求。响应是True
还是False
?
pg_connection_busy()
基本上是调用 libpq ,PQconsumeInput()
然后是PQisBusy()
,两者都记录在
Asynchronous Command Processing中。
这与服务器整体忙于其他连接无关。此外,它不会向其发送任何内容、查询或其他内容,这纯粹是关于在异步检索结果时缓冲传入数据的本地条件。
不幸的是,php 文档给出的示例具有误导性。它在没有运行任何异步查询的情况下调用pg_connection_busy()
新连接,这没有任何意义。