【问题标题】:Can the same php query handle simultaneous ajax requests from different pages同一个php查询可以同时处理来自不同页面的ajax请求吗
【发布时间】:2017-03-11 21:17:24
【问题描述】:

我有一个名为 update_details.php?id=xyz 的 PHP 页面,其中有一个用于获取详细信息和更新用户登录时间的查询。

用户有一个名为profile.php?id=xyz 的个人资料页面。因此,对于不同的用户,个人资料页面是不同的,例如 profile.php?id=abcprofile.php?id=def 等。现在这个 profile.php 有一个 ajax 函数,可以通过 ajax 调用将用户 ID 发送到 update_details.php,以便 update_details.php 可以更新记录。

例如,如果我有 2000 个用户并且所有用户同时打开他们的个人资料页面。现在我的问题是update_details 页面是否能够处理这个问题。我的意思是它是一个update_details.php 还是每个update_details.php?id=abcupdate_details.php?id=def 等都被认为是一个单独的。

更准确地说,当 2000 个用户通过 2000 个 ajax 调用更新他们的记录时,调用是转到一个 update_details.php 还是根据他们的 id 如update_details.php?id=abcupdate_details.php?id=def 等。TIA

【问题讨论】:

  • 为所有用户提供一个页面。你的问题没有意义。 Ajax req 是客户端。服务器将一个接一个地为每个呼叫提供服务。
  • Lelio 说的,这没有意义,AJAX 是客户端。此外,您只有一个 profile.php 而不是 2000,您拥有的是 2000 个请求相同 profile.php 的用户,因此询问您的配置文件是否可以处理 2000 请求取决于您的服务器而不是脚本。

标签: javascript php jquery mysql ajax


【解决方案1】:

好的,让我们检查一下请求是如何从浏览器发出的,直到它得到服务并且浏览器得到响应。

  1. 客户点击一个链接,也许是一个按钮。
  2. 浏览器发出 HTTP 请求并将其发送到服务器(可能是 Apache、nginx,无论您使用什么)
  3. 服务器分析请求,检查它的规则。说:当我点击一个带有.php扩展名的url时,我发现了一个规则,我运行一个php解释器并将请求信息传递给它。
  4. 服务器生成新进程或将请求分配给其中一个工作人员(取决于服务器的内部结构)。

将运行多少个并发 php 进程?这取决于 Web 服务器的配置和设计。


所以回答你的问题,每个正在运行的 php 进程都有其独立的内存段,即使它们正在执行来自 update_details.php 的相同指令

把它想象成一家工厂的 10 名工人按照相同的指令制作椅子,但每个人使用不同的油漆颜色、木材类型等。

【讨论】:

  • 谢谢。这回答了我的问题。如果是一个工作人员处理 2000 个用户请求,我实际上很困惑,因为查询在同一页面或多个工作人员中。
猜你喜欢
  • 2022-11-25
  • 2013-03-27
  • 1970-01-01
  • 2023-03-27
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多