It looks like you are using nfs3 but not directly specifying nfs4. I believe the main difference is that nfs3 doesn't support file locking which Moodle requires, especially when using it for sessions.
Here is what I have used on the NFS server in /etc/exports which has worked well for us "(rw,nohide,insecure,no_subtree_check,async,no_root_squash)"
In /etc/fstab we then had "nfs4 proto=tcp,port=2049,rsize=32768,wsize=32768,intr,noatime,clientaddr=[THE WEB SERVER IP ADDRESS] 0 0". You need to specify nfs4 for it to work correctly.
Use the above at your own risk too as I have no idea of your full environment etc etc.
The Moodle 3.4 config-dist file has these options (plus others for memcached/redis/etc) so you can add them to your config.php to force moodle to use file based sessions.
// Following settings may be used to select session driver, uncomment only one of the handlers.
// Database session handler (not compatible with MyISAM):
// $CFG->session_handler_class = '\core\session\database';
// $CFG->session_database_acquire_lock_timeout = 120;
// File session handler (file system locking required):
// $CFG->session_handler_class = '\core\session\file';
// $CFG->session_file_save_path = $CFG->dataroot.'/sessions';
You can also check in Moodle server->session handling to see if it's using DB sessions or not.
Moodle will still store session information (just not session data) in the Moodle DB (mdl_sessions), this is so Moodle knows what session belong to what user, last access times, IPs etc. The actual data is then stored in moodledata (or redis etc if you configured it).
When using shared storage like NFS, that is your weakest point (normally), so you want to have the least amount of services relying on it. Moodle can be configured so that moodledata only contains the file store and the request/temp caches. Application MUC cache, Session MUC cache, PHP Sessions, File Locking can all be moved to other services such as Redis.
Because you're on an older version, some of those options may not be available to you or if they are, they may not work as well as they do in higher versions. At the least try to do the MUC application cache and the PHP sessions.
PHP sessions are configured in config.php (look at config-dist for an example), Application cache is via the Moodle Cache page. To set it up, create the cache as it looks like you have done, then go to the "Stores used when no mapping is present" section, click edit mappings and under Application choose your Redis cache. If you wanted to cache different stored bit by bit, then instead of that do each cache store individually.
If you're using a single redis instance, make sure to use different prefixes for Application and PHP Sessions, even better is two different Redis instances (either different IPs or Ports on the same server) and set Application/PHP sessions to connect to different instances.
This though is only one piece of making Moodle perform well with quizzes. All layers of the stack need to be configured optimally from Load balancing (SSL offload, HTTP/asset caching, etc) to Apache/PHP then DB and Caching layer.