我有几个页面,每个页面大约有200张图片。当我访问它们时,Apache打开了很多线程,使用了超过1Gb的RAM。我可以在“top”命令中看到几个“httpd”条目,每个条目使用0.6%的RAM。
所有文件都是静态的小JPG文件。我使用.htaccess作为客户端缓存,但这还不够,因为我每小时都有几个新用户,非缓存用户。
我的配置:
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 30
StartServers 1
MinSpareServers 2
MaxSpareServers 4
ServerLimit 300
MaxClients 300
MaxRequestsPerChild 0
MaxRequestWorkers 300
什么是最好的方法来提供大量的静态文件,每页,低内存使用?这是一个CentOS 7,Apache 2.4.6,几乎在默认配置,除了上面的指令。
谢谢.
2条答案
按热度按时间vecaoik11#
1GB的内存是相当没有,但Apache也取决于很多关于你的CPU规格。
我不知道你有多少CPU,但我认为以下设置需要增加到
您也可以使用浏览器中的开发人员工具检查加载时间,在那里您可以检查每个图像需要加载多少。
rdlzhqv92#
我知道这是一个老问题,但对于未来的用户来说,可能有助于解决这个问题的是http响应的压缩,所以你可能想看看mod_deflate。https://httpd.apache.org/docs/2.4/mod/mod_deflate.html