有关优化:当按钮被疯狂点击时想到的

有关优化:当按钮被疯狂点击时想到的,第1张

概述昨天,帮上高一的孩子在网上报选修课,这一通折腾让我真正了解到性能优化和用户体验的重要性了。系统不复杂,功能也比较单一,就是登录后,在课程列表中选择一到两个,然后提交就行了。用户数也不多,就算有一千个学生吧。但是,我亲眼目睹这个系统折磨了好多学生和家长,有人从开放系统就开始搞,几个小时都搞不定,不是没有响应,就是出错。作为业内人士,难免对此感兴趣,当时就在脑子里分析了出产生这个问题的原因以及改进的方 昨天,帮上高一的孩子在网上报选修课,这一通折腾让我真正了解到性能优化和用户体验的重要性了。系统不复杂,功能也比较单一,就是登录后,在课程列表中选择一到两个,然后提交就行了。用户数也不多,就算有一千个学生吧。但是,我亲眼目睹这个系统折磨了好多学生和家长,有人从开放系统就开始搞,几个小时都搞不定,不是没有响应,就是出错。作为业内人士,难免对此感兴趣,当时就在脑子里分析了出产生这个问题的原因以及改进的方法,当然,这对于自己以后的工作也有借鉴意义。

系统是B/S架构的,啥平台没注意,数据库从错误提示看出是sqlServer。系统主要问题就是性能急剧下降,产生的最直接原因是按钮被疯狂点击。这其中有个恶性循环在里面:由于性能跟不上造成响应慢,用户等待时间变长,用户失去耐心,开始第二次点击,第三次……直到不停地点击,系统趋于崩溃,用户已经崩溃。我看到的是家长不停地与小孩通电话,现在基本都是一个小孩,自己孩子交给的任务完成不了,搁谁不急?从上面的描述可以知道,这个系统最明显的问题就出在按钮的处理上。当用户提交请求后,应该在前端做些处理,让按钮失效,这并不需要多高的技术,现在一般网站的评论系统都是这么处理的。这样可以在很大程度上避免用户的重复提交,直至变成恶性循环。

提交按钮的处理是最简单最直接的优化方法,当然,后台也可以做些优化以提升系统的性能。从其返回的错误提示可以看出是数据库错误,说明大量的sql处理已经让数据库顶不住了。解决的方法就是不能过度依赖数据库的功能,有些运算可以放到应用服务器,有些数据可以缓存到内存中。就它这个系统来看,无非就是用户数据和课程数据,前者用于校验身份,后者用来显示给用户进行选择。这两块数据都可以做缓存处理,把计算移到应用服务器的内存中进行,而不必一次次对数据表进行遍历,这对于性能的提升效果是非常明显的。

想到的也就这些吧,其实只要针对这两方面进行改进,无论是家长还是服务器都不会如此抓狂了。当时真想把程序员叫出来,现场办公!不过,我还是发挥了专业人员的优势,知道点再多也没用,反而让系统更加慢,不如静下心来,耐心等待,终于提交成功!我还依计指导了其他孩子

总结

以上是内存溢出为你收集整理的有关优化:当按钮被疯狂点击时想到的全部内容,希望文章能够帮你解决有关优化:当按钮被疯狂点击时想到的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1180446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存