缓存文件夹增长得非常快

时间:2013-02-18 14:14:51

标签: symfony

我将Symfony2用于一个关键应用程序。对于每个客户端(浏览器中的每个选项卡都是客户端)JS通过AJAX每秒请求数据。 而文件夹/缓存/ dev / profiler /增长非常快! 17Gb连续2天!如何禁用此写作?

4 个答案:

答案 0 :(得分:18)

config_dev.yml中有选项

framework:
    profiler: { only_exceptions: true }

这是假的,现在一切正常。

答案 1 :(得分:1)

检查您的环境是否在开发(开发)模式下运行,如果是,请确保它在prod(生产)上。 在开发模式下,很多进程都是出于调试原因而进行的,这对您的客户来说并不需要。

如果您想要禁用分析器,您可以执行此操作 在:app/config/config_dev.yml

web_profiler:
     toolbar: true
     only-exceptions: true
     intercept_redirects: false

答案 2 :(得分:1)

我的解决方案

* * * * * root cd /path/to/project/src/var/cache/dev/profiler && sed -i ':a;$q;N;101,$D;ba' ./index.csv && ls -1t | tail -n +102 | xargs rm -rf

其中:

sed -i ':a;$q;N;101,$D;ba' ./index.csv删除index.csv中的所有行,最后100条除外。(新的转储存储在最后)

ls -1t | tail -n +102 | xargs rm -rf会按照修改日期删除所有文件夹和文件(最新的100个除外)。

102-占用index.csv

答案 3 :(得分:0)

这是一个更好的解决方案,感谢SncRedisBundle,您可以将分析器数据存储在Redis中,它们已经实现了 profiler_storage

他们还添加了TTL,因此您的分析器数据可以自动过期。

首先在config.yml中配置您的snc_redis客户端

snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn: redis://localhost

然后在config_dev.yml中添加探查器存储

snc_redis:
    profiler_storage:
        client: default
        ttl: 86400