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文件更好。在这里,我们需要检测特定文件每单位时间有多少调用。我们如何处理这个?

提前致谢。

4

3 回答 3

0

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

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

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

于 2012-12-13T11:19:21.023 回答
0

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

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

这是胡说八道,直到我们不是在谈论同一个会话(如果会话是默认的 PHP 会话)。如果会话不同(读取 - 用户不同),它将不会一一执行请求。PHP 可以轻松地处理对同一个 PHP 文件的并发请求。

于 2012-12-13T11:07:14.297 回答
0

拥有多个文件来做同样的事情并不是一个解决方案,正如另一个答案中已经说明的那样,维护将是一场维护噩梦。

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

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

于 2012-12-13T11:39:52.013 回答