我正在使用Apache来提供静态文件。 Apache2需要太多的RAM。
我想减lessRAM的使用量。
我没有清漆的经验。 据说速度更快。 我不知道Varnish是如何工作的。
那么,运行Apache2 + Varnish需要多less内存? Apache2 + Varnish比没有Varnish的Apache2有更高的内存使用率吗?
谢谢。
如果你想要一个静态文件的轻量级服务器, Nginx可能是一个不错的select。 你可以在编译时select你想要的模块。
清漆cachingRAM中的数据,以更快地发送“东西”给客户端。 它不会节省你的RAM使用,它可以节省你的处理和I / O时间。
你应该看的是Apache2的替代品。 通过切换到lighttpd + FastCGI-PHP,我保存了大量的RAM,因为我大部分分享了大量的静态数据。
如果你有许多由apache(jpgs,css / js文件和html)提供的静态文件,你会发现使用varnish来提供服务需要的内存less于占用完整的apache进程来服务单个3kb文件。
相反,拥有许多dynamic文件(php与POST / GET查询等)将不会使用任何清漆,所以这是一个完全浪费的内存。
所以,这取决于你的具体情况。
给你一个例子,在我的网站上,我有一个PHP文件,每个平均20小图像。
没有清漆,阿帕奇访问约200 /秒。 在上传服务器(总共6GB内存)并给3GB清漆和其余的MySQL / PHP / Apache的东西后,访问阿帕奇下降到10-20 /秒,整个服务器得到了更快的方式。 但不要指望实际上获得任何速度,没有给光油一个公平的记忆
粗略的估计是你的静态内容的大小+ 25%的开销。 如果图像没有均匀服务(意味着某些服务比其他服务更频繁),则可以less花钱。