Php 在多次XMLHttpRequest调用的情况下最小化服务器负载

Php 在多次XMLHttpRequest调用的情况下最小化服务器负载,php,javascript,ajax,Php,Javascript,Ajax,我正在制作一个网站,用户会喜欢一些文章。无论何时 单击like按钮后,我将向服务器发送XMLHttpRequest 运行名为like_clicked.php的文件以及 文章id和用户id。此文件采用文章id和用户id,并 更新sql数据库,并在相关的xml文件中添加节点 给用户。这是我第一次为大众做一些事情 用法 当太多用户调用like_clicked.php文件时,我担心服务器负载。如果这个方法可以的话,请帮助我 我也在考虑一个替代方案,以防上述方法失败。我 我正在考虑制作许多类似的文件(即

我正在制作一个网站,用户会喜欢一些文章。无论何时 单击like按钮后,我将向服务器发送XMLHttpRequest 运行名为like_clicked.php的文件以及 文章id和用户id。此文件采用文章id和用户id,并 更新sql数据库,并在相关的xml文件中添加节点 给用户。这是我第一次为大众做一些事情 用法

当太多用户调用like_clicked.php文件时,我担心服务器负载。如果这个方法可以的话,请帮助我

我也在考虑一个替代方案,以防上述方法失败。我 我正在考虑制作许多类似的文件(即 like_clicked1.php,like_clicked2.php…)以最小化 单个i节点。是否有一种方法可以检测调用 下一个文件被单击。在这里,我们需要检测有多少 针对特定文件的每单位时间调用。我们该怎么办 处理这个


提前感谢。

一旦您将这些文件放在一台服务器上,就没有任何区别了。据我所知,这些文件中应该没有繁重的计算。如果它看起来很慢-请检查是否可以导入数据库请求。一旦你有了大量的用户,你就需要放置一些服务器和一些负载平衡器,它们将调用不同的服务器。用不同的名称制作文件毫无意义

当对同一文件或函数进行多次调用时,它将 花时间逐一处理所有这些问题


在我们讨论的不是同一个会话(如果会话是默认的PHP会话)之前,这是不存在的。如果会话不同(读用户不同),它不会逐个执行请求。PHP可以轻松地处理对同一PHP文件的同时请求

复制代码可能是您可以尝试的最糟糕的事情:

  • 你给自己制造了一场维护噩梦
  • 您可以减少所有可能受益于的缓存级别的影响:内存、文件系统、FastCGI、PHP字节码缓存(如果有)

即使缓存的概念不存在,您也只需要使磁盘上下旋转以从不同的位置读取;-)

让多个文件做同一件事不是一个解决方案,正如在另一个答案中所述,维护它将是一场维护噩梦

在编程中,先让代码正常工作,然后在看到应用程序运行的实际结果后再考虑优化。给你的
如_click.php
页面的一条建议是:尽量少做。


稍后,如果您发现速度正在放缓,您可能需要研究将网站群集到多个服务器的方法,以便将负载分散到不同的硬件和网络上。这在任何大型网站上都很常见。

因此,您要问的是,最好将所有请求都指向一个文件来处理,还是由多个共享相似名称的文件来处理更好?不清楚你的目标是什么。如果你构建了一个供大量使用的文件,你就不能在一台服务器上运行它,除非它是一台机器的发电站。inode可能在当前参考中被认为是文件。是的,我正在考虑使用多个具有类似名称的文件,但为此我还必须检查是否使用了特定的文件或特定的函数。当对同一文件或函数进行多个调用时,逐个处理所有调用都需要时间。我正在寻找一种将这种拥塞降至最低的方法。您的瓶颈将不是文件的请求,而是数据库操作,特别是因为您正在向数据库写入数据。因此,不,将您的请求拆分到几个执行相同操作的文件上是没有意义的。