我正在做一个网站,其中用户喜欢一些文章。每当单击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文件更好。在这里,我们需要检测每单位时间内有多少个调用是针对特定文件的。我们该如何处理这件事?
提前谢谢。
发布于 2012-12-13 19:07:14
一旦你把这些文件放在一台服务器上,那就没有任何区别了。据我所知,这些文件中应该没有繁重的计算。如果它看起来很慢-检查您是否可以改进数据库请求。一旦你的用户真的很多,你就需要放置一些服务器和一些负载均衡器来调用不同的服务器。创建不同名称的文件没有任何意义。
当对同一文件或函数进行多个调用时,逐个处理所有调用需要时间。
除非我们讨论的不是同一个会话(如果会话是默认的PHP会话),否则这是没有意义的。如果会话不同(读用户不同),它不会逐个执行请求。PHP可以很容易地处理对同一PHP文件的同时请求。
发布于 2012-12-13 19:19:21
复制代码可能是你可以尝试的最糟糕的事情:
即使缓存的概念不存在,您也只是让磁盘上下旋转,以便从不同的位置读取;-)
发布于 2012-12-13 19:39:52
让多个文件做同样的事情不是一个解决方案,正如在另一个答案中已经指出的那样,它将是维护的噩梦。
在编程中,首先让代码正常工作,然后在能够看到应用程序运行方式的实际结果后再考虑优化。给你的like_click.php页面一个建议:做的尽可能少。
稍后,如果你发现速度变慢了,你可能不得不研究如何将你的网站集群到多个服务器上,以便将负载分散到不同的硬件和网络上。这对于任何大型网站来说都是很常见的。
https://stackoverflow.com/questions/13858351
复制相似问题