当项目宕机时,用户无法登陆,而同样的项目在你本地运行好好地,为什么到线上就出问题了,遇到这种情况最让人恼火了
1.环境配置原因引发的问题,这个可能是平时最常见的了,本地和线上配置不统一,解决也很容易,配置单独配置开发、测试
线上,每个配置单独维护,但一定要记住同时维护起来,别在开发的时候自己玩的挺嗨,到了线上这个配置忘记了那个忘
记了, 没别的办法,良好的习惯,检查在检查,对于软件环境的兼容一定要注意tomcat,jdk,maven,mq保持线上线下一致性
2.数据量问题,一个用户在一个请求中会占用一个连接,当很多用户同时请求,连接数不断上升,而某些请求耗时太严重,
该如何操作呢
缓存一个非常不错的方法,把耗时的要么后台统计要么放入缓存中,让用户无感知的取数据
异步对于一些实时性准确性不高的操作,我们可以异步操作,后台异步处理,前台实时刷新
扩容对服务器业务接口进行分流扩容
优化代码层次的优化,写循环的时候一定要考虑这个循环面临的最大数据量,嵌套太多的查询数据库循环,
连表查询这些操作都是非常耗费资源的,这些一定要改,数据库查询语句优化,不要一上来就建立索引
什么情况下索引可以提高查询速度,如最左原则,聚合函数等,过多的索引也会减慢查询