如何优化 Lighttpd 来托管真正小的、不会随时间而改变的静态图像文件?

如何优化 Lighttpd 来托管真正小的、不会随时间而改变的静态图像文件?

这个 Lighttpd 服务器需要非常快速地提供不同的图像文件(大约每秒 500 个请求)。

每个图像文件大约为 50-70kb,并且数量只有大约 1000 个左右。

设置专用于此任务的高效 lighttpd 服务器的最佳方法是什么?

pd. 我能够找到 ModMemCache,但是所有信息似乎都已过时。

答案1

您不需要设置 memcache,您的内核虚拟内存管理应该能够使用您的 RAM 来自动加速您的服务器。

仅加载您需要的模块,并确保加载 mod_expire 并为图像文件设置到期日期(如果它们不会更改)。此页面详细介绍了如何设置 mod_expire:http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModExpire

此外,您还需要在配置文件中增加最大打开文件描述符,否则您的日志文件中会出现错误,并且服务器将挂起。此页面解释了文件描述符设置,并包含有关调整内核 tcp 性能的有用信息:http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_Performance

答案2

Lighttpd 对于静态文件来说速度很快,但你可以做得更好。

我建议您尝试仅在运行在端口 8080 左右的 lighttpd 服务器上设置适当的过期时间,然后在其前面的端口 80 上放置专用的 http 缓存解决方案。我建议使用 Varnish,因为它的普及程度和性能都很高。从一开始,它就可以很好地与您的过期标头配合使用,只要服务器缓存的时间长,只有当您在图像主机上使用 cookie 时,您才需要进行一些特殊配置。

相关内容