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.162 - - [24/Oct/2015:22:01:15 +0000] "GET/dokuwiki/doku.php?id=profile_merrinall4982 HTTP/1.1" 200 2311

一段时间后,Apache服务器内存耗尽,并重新启动,但这种情况经常发生。

我的问题是:

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

嗯,看起来你有某种内存泄漏问题。这里讨论了大量类似的问题,参见,例如- 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应用程序运行-这样,操作系统会为你释放内存,但在每次请求之后都要这样做。因此,当您有100个并发用户时,您可能会遇到麻烦;)