I've already implemented memrec in the configurations,
I've also managed to simulate the situation in a staging environment with a single query,
What is very confusing to us is that the total db hits for the query is ~4000 with a lot of pagecache hits, which is exactly as we planned it to be.
The query plan summery is:
Cypher version: CYPHER 3.4, planner: COST, runtime: SLOTTED. 4212 total db hits in 69 ms.
We can notice high CPU on the server when running the query even when no one else is running anything on the cluster
WHERE p.public_user_id = "9E4452ED-C77E-4E42-9164-F5BF00CE7E6D"
WHERE (exists(fp.is_blocked) = false OR fp.is_blocked = false) AND
f.status = 0 AND
NOT f:Premium AND
(f.time < datetime() OR fp.is_verified OR fp.is_approved) AND
fp.is_freeze = false AND f.time < datetime()
ORDER BY f.time DESC
OPTIONAL MATCH (f)-[:SharedFeedItem]->(sf:FeedItem)<-[source]-(p)
WHERE type(source) STARTS WITH 'SourceProfile'
WHERE sf IS NULL
WHERE NOT EXISTS((f)<-[:Commented_on]-(tf))
WITH f.public_id as public_id, f.time as time, fp.public_user_id as public_user_id, f.status as status, f.type_id as type_id
RETURN public_id, time, public_user_id, status, type_id, 'social_following_post' as feed_classification
ORDER BY time DESC
Any ideas will be much appreciated