AW: Cacheex3
After some more testing this is what I see...
A client is connected to SERVER B and requests a channel which was pushed to the server by the cacheex mode 3 reader on SERVER A. The channel is in the cache constantly. The first ecm is a cache3 hit (10ms)
The second ecm is grabbed from the local on SERVER B
The rest of the ecm's is also grabbed from the local on SERVER B. No more cache3 hits.
When I look at the cacheex3 page I can see that SERVER A is still pushing the ecm to SERVER B (the push count rises), but on SERVER B the 'got count' for this channel stays the same. (In a few minutes push went from 583 to 591 on SERVER A, but got on SERVER B stayed at 24 for this channel).
If I look in the debug log I can see that from the moment my client started watching the channel (OOD3) the pushed ecm is ignored and my local reader is preferred.
So... I reset the reader stats, the user stats etc. Everything was 0.
User A watches a channel on SERVER A. The channel gets pushed to SERVER B.
User B watches the same channel as user A but he is watching it from SERVER B.
The first ECM is a cache3 hit (10ms). The stats for user B tell me that he is getting cache after cache hit. ECM's delivered = 2, Cache hits = 10
This is a filtered log from SERVER B
But....
The stats for my local show me that the cache3 hits are not for free. Every cache3 hit is also a hit on my local. So 10 cache3 hits in the log means 10 ecm's found by my local and so on. After a while the user stats show that 3 ECM's were delivered (those were visible in the log as ' found (161 ms) by localmd (P/1/1/3) '. The cache3 hits are counted as cache. After about 5 to 10 minutes... cache hits on user B = 30... ECM hits on my local are also 30.
Is it the loadbalancer? (10. Log statistics only)? Prefer local cards is set to 0 (local cards like proxied). Cache delay = 10ms, Cache time = 15 seconds (ZIGGO ecm's have an interval of 20 seconds). Maximum cache count = 7500. Cacheex wait time = 50ms.
So concluding... actually two things are happening
1. Pushed ECM's are replaced by ECM's from my own local when using cacheex mode 3
2. Every cache3 hit in the log is also a ECM found by my local so cache3 is not really cache3.
Why is every cache3 hit also a hit on my own local? What is wrong with my setup or with cache3?