首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大量XMLHttpRequest调用的情况下最大限度地减少服务器负载

在大量XMLHttpRequest调用的情况下最大限度地减少服务器负载
EN

Stack Overflow用户
提问于 2012-12-13 18:57:22
回答 3查看 153关注 0票数 0

我正在做一个网站,其中用户喜欢一些文章。每当单击like按钮时,我都会向服务器发送一个XMLHttpRequest,以运行一个名为like_clicked.php的文件,以及获取文章id和用户id的数据。这个文件接受文章id和用户id,并更新sql数据库,还在与用户相关的xml文件中添加一个节点。这是我第一次为大众使用做一些事情。

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

我也在考虑一种替代方法,以防上述方法失败。我正在考虑制作许多like_clicked文件(即like_clicked1.php,like_clicked2.php ... )将单个I节点上的负载降至最低。有没有一种方法可以检测到调用下一个like_clicked文件更好。在这里,我们需要检测每单位时间内有多少个调用是针对特定文件的。我们该如何处理这件事?

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-12-13 19:07:14

一旦你把这些文件放在一台服务器上,那就没有任何区别了。据我所知,这些文件中应该没有繁重的计算。如果它看起来很慢-检查您是否可以改进数据库请求。一旦你的用户真的很多,你就需要放置一些服务器和一些负载均衡器来调用不同的服务器。创建不同名称的文件没有任何意义。

当对同一文件或函数进行多个调用时,逐个处理所有调用需要时间。

除非我们讨论的不是同一个会话(如果会话是默认的PHP会话),否则这是没有意义的。如果会话不同(读用户不同),它不会逐个执行请求。PHP可以很容易地处理对同一PHP文件的同时请求。

票数 0
EN

Stack Overflow用户

发布于 2012-12-13 19:19:21

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

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

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

票数 0
EN

Stack Overflow用户

发布于 2012-12-13 19:39:52

让多个文件做同样的事情不是一个解决方案,正如在另一个答案中已经指出的那样,它将是维护的噩梦。

在编程中,首先让代码正常工作,然后在能够看到应用程序运行方式的实际结果后再考虑优化。给你的like_click.php页面一个建议:做的尽可能少。

稍后,如果你发现速度变慢了,你可能不得不研究如何将你的网站集群到多个服务器上,以便将负载分散到不同的硬件和网络上。这对于任何大型网站来说都是很常见的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13858351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档