1

I have a Symfony 2.8 project in the prod environment, but it 's too slow to clean the cache each time after code update.

After i check the cache directory, i found that the annotation directory under app/cache/prod is very large and the code logic is very simple, there are only a few number of twig pages.

What happened in this project and how can i fixed it?

$ du -h --max-depth=1 app/cache/prod/
2.6M    app/cache/prod/doctrine
1.3M    app/cache/prod/twig
349M    app/cache/prod/annotations
353M    app/cache/prod/

$ ls -lh app/cache/prod/annotations
total 1.0M
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 00
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 01
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 02
drwxr-xr-x  6 www-data www-data 4.0K Aug 13 16:12 03
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 04
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 05
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 06
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 07
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 08
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 09
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 0a
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 0b
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 0c
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 0d
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 0e
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 0f
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 10
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 11
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 12
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 13
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 14
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 15
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 16
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 17
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 18
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 19
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 1a
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 1b
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 1c
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 1d
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 1e
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 1f
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 20
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 21
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 22
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 23
drwxr-xr-x 18 www-data www-data 4.0K Aug 13 16:12 24
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 25
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 26
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 27
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 28
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 29
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 2a
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 2b
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:11 2c
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 2d
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 2e
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 2f
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 30
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:11 31
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 32
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 33
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 34
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 35
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 36
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 37
drwxr-xr-x 21 www-data www-data 4.0K Aug 13 16:12 38
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:17 39
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 3a
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 3b
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 3c
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 3d
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 3e
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 3f
drwxr-xr-x 19 www-data www-data 4.0K Aug 13 16:12 40
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 41
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 42
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 43
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 44
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 45
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 46
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 47
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 48
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 49
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 4a
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 4b
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 4c
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 4d
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 4e
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 4f
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 50
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 51
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 52
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 53
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 54
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 55
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 56
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 57
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 58
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 59
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 5a
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 5b
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 5c
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 5d
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 5e
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 5f
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 60
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 61
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 62
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 63
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 64
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 65
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 66
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 67
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 68
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 69
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 6a
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 6b
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 6c
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 6d
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 6e
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 6f
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 70
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 71
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 72
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 73
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 74
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 75
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 76
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 77
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 78
drwxr-xr-x  6 www-data www-data 4.0K Aug 13 16:12 79
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 7a
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 7b
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 7c
drwxr-xr-x 22 www-data www-data 4.0K Aug 13 16:12 7d
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 7e
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 7f
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 80
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 81
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 82
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 83
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 84
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 85
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 86
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 87
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 88
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 89
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 8a
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 8b
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 8c
drwxr-xr-x 18 www-data www-data 4.0K Aug 13 16:12 8d
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 8e
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 8f
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 90
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 91
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 92
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 93
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 94
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 95
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:11 96
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 97
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 98
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:11 99
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 9a
drwxr-xr-x  6 www-data www-data 4.0K Aug 13 16:12 9b
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 9c
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 9d
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 9e
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 9f
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 a0
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:11 a1
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 a2
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 a3
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 a4
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 a5
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 a6
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 a7
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 a8
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 a9
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 aa
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 ab
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 ac
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 ad
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 ae
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 af
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 b0
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 b1
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 b2
drwxr-xr-x 18 www-data www-data 4.0K Aug 13 16:12 b3
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 b4
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 b5
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 b6
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 b7
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 b8
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 b9
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 ba
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 bb
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:17 bc
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 bd
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 be
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:11 bf
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 c0
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 c1
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 c2
drwxr-xr-x 23 www-data www-data 4.0K Aug 13 16:12 c3
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 c4
drwxr-xr-x  6 www-data www-data 4.0K Aug 13 16:12 c5
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 c6
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 c7
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 c8
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 c9
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 ca
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 cb
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 cc
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 cd
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 ce
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 cf
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 d0
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 d1
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 d2
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:11 d3
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 d4
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 d5
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:11 d6
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 d7
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 d8
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 d9
drwxr-xr-x 16 www-data www-data 4.0K Aug 13 16:12 da
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 db
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 dc
drwxr-xr-x 25 www-data www-data 4.0K Aug 13 16:12 dd
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 de
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:11 df
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 e0
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 e1
drwxr-xr-x  8 www-data www-data 4.0K Aug 13 16:12 e2
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 e3
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 e4
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 e5
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 e6
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 e7
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 e8
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 e9
drwxr-xr-x 22 www-data www-data 4.0K Aug 13 16:12 ea
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 eb
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 ec
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:11 ed
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 ee
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 ef
drwxr-xr-x 15 www-data www-data 4.0K Aug 13 16:12 f0
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 f1
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 f2
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 f3
drwxr-xr-x 14 www-data www-data 4.0K Aug 13 16:12 f4
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 f5
drwxr-xr-x  9 www-data www-data 4.0K Aug 13 16:12 f6
drwxr-xr-x 20 www-data www-data 4.0K Aug 13 16:12 f7
drwxr-xr-x  7 www-data www-data 4.0K Aug 13 16:12 f8
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 f9
drwxr-xr-x 10 www-data www-data 4.0K Aug 13 16:12 fa
drwxr-xr-x 12 www-data www-data 4.0K Aug 13 16:12 fb
drwxr-xr-x 17 www-data www-data 4.0K Aug 13 16:12 fc
drwxr-xr-x 11 www-data www-data 4.0K Aug 13 16:12 fd
drwxr-xr-x 13 www-data www-data 4.0K Aug 13 16:12 fe
drwxr-xr-x  6 www-data www-data 4.0K Aug 13 16:12 ff

and my composer.json:

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-4": { "": "src/" },
        "files": [
            "app/AppKernel.php",
            "src/AliyunSDK/aliyun-php-sdk-core/Config.php"
        ]
    },
    "require": {
        "php": ">=5.6.10",
        "symfony/symfony": "2.8.*",
        "doctrine/orm": "^2.4.8",
        "doctrine/doctrine-bundle": "~1.4",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "^3.3",
        "sensio/distribution-bundle": "~5.0",
        "sensio/framework-extra-bundle": "^3.0.2",
        "incenteev/composer-parameter-handler": "~2.0",
        "endroid/qrcode": "1.8.0",
        "aliyuncs/oss-sdk-php": "^2.3",
        "overtrue/wechat": "~3.1",
        "symfony/form": "~2.8"
    },
    "require-dev": {
        "sensio/generator-bundle": "~3.0",
        "symfony/phpunit-bridge": "~2.7"
    },
    "scripts": {
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "symfony-assets-install": "relative",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.8-dev"
        }
    }
}
Yuliang Li
  • 417
  • 1
  • 5
  • 6
  • How many files are there in `app/cache/prod/annotations`? What are the largest and the smallest ones? Are there any subdirectories? Do you have any packages installed besides the ones in the Symfony standard edition? Please add this information to your post. – lxg Aug 13 '18 at 07:04
  • I have post my composer.json file and the list under app/cache/prod/annotations, is there any help? – Yuliang Li Aug 14 '18 at 08:51
  • Is this directory remains of same size after `cache:clear` and cache re-building or even after manual removal and re-build of cache directory? It is possible that this large amount of files is collected after multiple updates of application without clearing cache – Flying Aug 14 '18 at 08:51
  • @ Flying @lxg Yes, it's always keeping the same directory size after I clear the cache ``php app/console cache:clear``or delete the directory ``app/cache/prod`` – Yuliang Li Aug 14 '18 at 09:00
  • @YuliangLi You can use [some other cache](https://symfony.com/doc/2.8/reference/configuration/framework.html#reference-annotations-cache) implementation for storing annotations e.g. Redis / Memcache, it will certainly improves performance and will remove all these files from cache directory – Flying Aug 14 '18 at 09:08
  • @YuliangLi I will move this information into answer so it will be better visible for other people – Flying Aug 14 '18 at 09:14
  • @Flying But why these only happened on in prod environment and there is no problem in my local developmemt environment? – Yuliang Li Aug 14 '18 at 10:04
  • @YuliangLi Can you please clarify your "these happened"? You have large amount of annotation files only in `prod` cache directory but not in `dev`? Or your `cache:clear` runs slow for `prod` environment, but not for `dev` on same machine? – Flying Aug 14 '18 at 10:07
  • @Flying I am sorry for my statement. I want to know why are a large number of annotation files under cache directory only generated in prod but not in dev? – Yuliang Li Aug 15 '18 at 03:40
  • I have no idea offhand but you can, for example, compare contents of this directory for `dev` and `prod` environments to see the difference, maybe it will give you some point for further investigation. Annotations are stored separately so every file that is missed in `dev` environment can then be associated with some source file and it may shed a light on a reason of such behavior. – Flying Aug 15 '18 at 09:21

1 Answers1

1

Symfony 2.x stores each parsed annotation into separate file so amount of files into annotations cache may be quite big. It can happen even if amount of annotations is relatively small in application itself because annotations inside vendor bundles may also be parsed if it is required by them.

File-based cache for annotations is default for Symfony configuration, but it is not the only option. As can be seen into Symfony framework configuration reference - you can setup use of any cache implementation that implements Doctrine cache as annotations cache. Use of any non-file storage (e.g. redis / memcache / etc) will eliminate these cache files in filesystem and will also brings additional performance gain for application itself.

Flying
  • 4,422
  • 2
  • 17
  • 25