昨天我的服务器负载很大,而且,即使我之前在优化性能(我在2个月前有过类似问题),我的服务器也无法处理负载(我有一项服务每分钟约50个账户创建)。我们如何配置symfony 1.4与varnish一起使用?
最后,我的服务器负责处理负载,因为我更改了实例:我在Amazon EC2上,并且使用了一个具有20个微型实例的负载均衡器。这还不够。我终于变成了10个大型实例,那没问题。但是,你知道,大型实例相当昂贵,而且我负担不起那么多大型实例(现在,因为负载较少,我只有“5个大型实例正在运行,但它也太多了) 。
所以,我仍在努力进行优化和服务器配置,但我坚持一个观点。
到目前为止,我正在使用symfony和memcached。它工作正常,应缓存的所有内容都被缓存等。
现在,我想在我的apache web服务器前添加一个Varnish。
我这样做了,我配置了它 - 我想 - 呃,现在它正在运行。问题在于缓存没有命中。
从我看到的问题是,由symfony发送的HTTP头没有正确设置。 例如,对于缓存的要求,我有以下标题:
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
模块被正确配置为使用高速缓存,等等,但我就是找不到在哪里可以设置正确的HTTP标头。我知道如何在symfony中为一个特定的动作设置一个缓存头,但显然,我不想在每一个动作上做这件事(顺便说一句,即使我这样做,我认为这不是正确的方法) 。
所以我问我如何使用清漆用symfony 1.4 从我所看到的,有两种可能性:
- 我正确设置由symfony的
- 发送的HTTP报头我配置清漆正确处理由symfony发送的默认HTTP头
你知道我该如何解决其中一个问题?
谢谢,
N.B. :我在Varnish3
+1有趣的问题。我也将很快使用symfony 1.4的清漆。我会对阅读答案感兴趣。 – Flukey