I will look into that. I also tried running caSnooper:
$ caSnooper -t60 -p10 -c5
Starting CaSnooper 2.1.2.3 (7-3-2013) at Jul 26 15:25:18
EPICS 3.14.12.7
cas warning: Configured TCP port was unavailable.
cas warning: Using dynamically assigned TCP port 40554,
cas warning: but now two or more servers share the same UDP port.
cas warning: Depending on your IP kernel this server may not be
cas warning: reachable with UDP unicast (a host's IP in EPICS_CA_ADDR_LIST)
Individual Name is CaSnoop.test
Internal PV names are not being published
CaSnooper terminating after 60.01 seconds [1.00 minutes]
Data collected for 60.01 seconds [1.00 minutes]
Jul 26 15:26:18:
There were 15078 requests to check for PV existence for 1960 different PVs.
Max(Hz): 5.58
Mean(Hz): 0.13
StDev(Hz): 0.36
PVs with top 10 requests:
1 bl07i-di-serv-02.diamond.ac.uk:44724 CP 5.58
2 bl07i-di-serv-02.diamond.ac.uk:48529 CP 5.52
3 bl07i-di-serv-02.diamond.ac.uk:51380 CP 4.27
4 i07-ppu01.diamond.ac.uk:37171 CP 4.27
5 i07-ppu01.diamond.ac.uk:49508 CP 2.98
6 i07-ppu01.diamond.ac.uk:52783 CP 2.73
7 bl07i-va-ioc-01.diamond.ac.uk:1027 BL07I-VA-VLVCC-01:DM5XX 2.67
8 bl07i-va-ioc-01.diamond.ac.uk:1027 BL07I-VA-VLVCC-02:DM5XX 2.67
9 bl07i-va-ioc-01.diamond.ac.uk:1027 BL07I-VA-VLVCC-01:DM4XX 2.67
10 bl07i-va-ioc-01.diamond.ac.uk:1027 BL07I-VA-VLVCC-02:DM3XX 2.67
Connection status for top 5 PVs after 10.00 sec:
1 bl07i-di-serv-02.diamond.ac.uk:44724 CP NC 5.58
2 bl07i-di-serv-02.diamond.ac.uk:48529 CP NC 5.52
3 bl07i-di-serv-02.diamond.ac.uk:51380 CP NC 4.27
4 i07-ppu01.diamond.ac.uk:37171 CP NC 4.27
5 i07-ppu01.diamond.ac.uk:49508 CP NC 2.98
I have found many instances of a db expansion where the macros are not substituted correctly, so there are multiple records requesting the PV " CP" (and maybe "CP" - although I can't find those, so maybe it is just the output formatting)
e.g.
record(longout, "BL07I-EA-DET-10:OVER:1:PositionXLink")
{
field(DOL, " CP MS")
field(OMSL, "closed_loop")
field(OUT, "BL07I-EA-DET-10:OVER:1:PositionX PP")
info(autosaveFields, "DOL")
}