在日常中,会有大量的用户在线上进行考试,进入试卷、答题、提交试卷都是使用人数最多的环节。
痛点
用户多进入试卷加载时间过长,系统响应慢;很多人同时提交试题和提交试卷总修改数据库,数据库承受压力过大。
优化思路分为三点
1.程序层面的优化
2.数据库层面的优化
3.增加服务器的配置
进入试卷
1.进入试卷可以将数据放入缓存,比如使用Reids。
2.对数据表字段添加索引。
3.预生成用户试卷静态页面。
提交试题
1.每次提交试题可以将数据放入缓存,比如Reids缓存。
提交试卷
1.提交试卷时可以将试题的数据和缓存的数据打印到日志中,防止出错时数据无法找回。
2.建议在最后提示试卷时,整体再提交一次试题的答案,防止试题答案丢失。和缓存中的数据进行比对。缺少的数据,使用整体提交的数据进行填充。
3.最后将缓存中的试题、和试卷数据,放入消息队列,进行异步执行。