php - 较长的PHP SOAP流程

标签 php multithreading soap process pcntl

我一直在一个通过SOAP获取所有数据的网站上工作。某些页面可能有三个或四个对Soap Server的调用,而某些调用有时可能会花费很长的时间(30-60秒)。

我注意到发生的是,如果我在30秒的长时间通话之一中中断了请求(停止加载浏览器),并向不太长时间的通话发出了另一个请求(使用较短的通话加载了另一个URL),我不会在初始通话的30秒结束之前(直到看起来),才收到请求。

这里到底发生了什么,有没有解决的办法?
这是pcntl可以帮助缓解的问题吗?
另外,我还希望通过Nginx用FPM设置PHP。这会影响事情吗?

谢谢大家!

最佳答案

我怀疑如果您嗅探两端的流量(例如使用Wireshark),那么答案可能会更加清晰。

我的猜测是客户端或服务器都试图进行DNS查找,这非常慢。通常,不存在的记录会发生非常缓慢的DNS查找-并且由于请求正在服务器上着陆,这意味着失败的DNS查找是由服务器在客户端IP地址上完成的。

关于php - 较长的PHP SOAP流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750683/

相关文章:

php - 如何使用 php 生成带有 soap 信封和 body 标签的 XML

javascript - 如何在 Chart.js Laravel 中将起始值设置为 “0”

javascript - 使用 Plupload 和 Symfony3 抛出 ValidationException 时无响应

javascript - 单击图像的一部分重定向到许多网址

node.js - Node.js 中的多线程请求处理(部署在 Kubernetes 中并位于 Nginx 后面)

.net - 查看原始 XML 请求

PHP ssh2.sftp 停止工作

c++ - MFC基本结构题

ruby-on-rails - 检查 activerecord 是否锁定在 "updating"状态

spring-boot - 通过 Spring Boot 调用 SOAP Web 服务失败并出现未经授权的 401 异常