DokuWiki 服务器端缓存

DokuWiki server-side caching

我有一个 DokuWiki 站点,其中有很多页面使用 Apache 2.4 作为 ELB 实例背后的 Web 服务器。 ELB 运行状况检查在 test.html 页上运行。

我从两个不同的 IP 地址(这似乎与 ELB 实例相关)接到了对 Doku.php 的调用,然后他们似乎试图访问所有网站,例如,这些来自 Apache 日志:

172.31.50.143 - - [24/Oct/2015:22:01:15 +0000] "GET /dokuwiki/doku.php?id=profile_flynnbackhaus HTTP/1.1" 200 2994

172.31.57.1​​62 - - [24/Oct/2015:22:01:15 +0000] "GET /dokuwiki/doku.php?id=profile_merrinall4982 HTTP/1.1" 200 2311

一段时间后,Apache 服务器内存不足,并自行重启,但这种情况非常频繁。

我的问题是:

  1. DokuWiki中是否有服务器端内置的缓存机制来配置或代码?如果是这样,我该如何禁用它?也许这个问题与Apache服务器更相关......我不确定。
  2. 如何以编程方式处理此类问题?

嗯,看起来你有某种内存泄漏问题。讨论了很多类似的问题,例如 - https://serverfault.com/questions/88997/how-can-i-determine-the-cause-of-an-areqest,t-memory-leak-in-my-apache-php-based-w

对于此类问题没有灵丹妙药,因此通常您必须仔细调试您的应用程序 - 找出哪些要求增加 apache 内存使用速度更快,查看代码,可能会尝试分析进程内存等...

如果您不希望您的站点上有高负载,您可能会考虑将您的应用程序重新配置为 运行 作为 cgi 应用程序 - 这样,OS 将为您释放内存,但在在每次请求之后做这件事的费用。因此,当您有 100 个并发用户时,您可能会遇到麻烦 ;)