In order to keep redirects fast FunnelFlux does things in a different way to most trackers.
Here's a basic outline of what happens when traffic is hitting your server:
FunnelFlux reads cached data telling it how to redirect a user. No direct interactions with your database, since that would slow things down.
After redirecting the user and logging data, FunnelFlux writes all this to temporary cache files
The system eventually moves these cached data into your tracker database where they are accessible to reporting
Using free resources, FunnelFlux continuously runs background jobs to precompile reports and aggregates, so that you can see "quick stats" very rapidly (i.e. these are the quickstats available when you click a campaign or funnel), and these are also used in your reporting view for relevant groupings where cached data exists.
All of this leads to a faster system with some sacrifice of how real-time the data is under high load.
If you are running low volume, chances are the caching and background jobs will keep the precompiled reports very up to date.
If you run high volume on a VPS with low resources, the background jobs can get behind and play catch up.
Here is a list of all the background aggregations FunnelFux does. Note that it does these separately for each funnel + traffic source combination, and then by quite a few different properties -- in most cases just by one:
funnel + traffic source + tracking field
funnel + traffic source + referrer
funnel + traffic source + visitor IP
funnel + traffic source + connection data (ISP, ASN, carrier, connection type)
funnel + traffic source + location data
funnel + traffic source + page (lander, offer, lander/offer category)
funnel + traffic source + node (node ID, node name, node type)
funnel + traffic source + node/page + MVT combination
funnel + traffic source + node/page + MVT key/values
funnel + traffic source + user agent
funnel + traffic source + node paths
funnel + traffic source + location data + user agent + connection data + node paths
โQuite a lot as you can see!
So, if you are wondering why your server is using significant resources constantly even when you abruptly stop traffic, its probably these jobs catching up.
Likewise if you find certain reporting queries are much faster than others, you guessed it, probably these cached reports.
Notably, this is also a cause of parent/child rows mismatching, i.e. the sum of the children not matching the parent.
In situations where your server is playing catch up, a drilldown of funnel > traffic source > country > landers would use the cached country data, but would pull directly from the database for the country > lander segmentation, thus giving the most up-to-date data.