Are your microflows doing a lot of retrieves? You mentioned you are working with a huge amount of data, so you will need to make sure your retrieves are paginated otherwise you will end up using a lot of memory.
If those microflows are running calculations over the data, then you may want to look at moving them off to a queue or a scheduled event if possible.
Are there any commits in loops that could be refactored out?
One other thing to look at would be to put the ConnectionBus_Retrieve log level up to TRACE, that will show you the database queries being used to build the page. That may help identify slow queries, and any indexes you may need to put on your entities.
Hope these help.