小心错误使用EasyUI 让网站性能减半

来源:互联网 发布:淘宝怎么可以贷款 编辑:程序博客网 时间:2024/06/05 05:50

小心错误使用EasyUI 让网站性能减半

     背景:

          最近接手了公司一个做了小一年的项目—高校教务基础系统,先不谈需求,和系统架构,直接上来就被抛来了一个问题----基础性能太差了,一个网页打开要好几秒。我了个天,我听了也简直不敢相信,难道是数据量特别大?还是其中业务逻辑特别复杂?

         简单的介绍下,基础系统是我们整个高校云平台里一个子系统,整个平台用EJB来实现分布式,并且管理事务,系统内使用springMvc+spring+hibernate具体实现。由于不知道系统性能差到底出错在哪里,于是我们便首先从EJB入手,测试远程调用,然后进入JVM检测内存,接着对框架整体分析,业务逻辑整合分析,来来回回半个月,都没有找到问题所在。后台排查完了,只剩下前台(前台功力不够啊。),原来以为不可能出问题的前台,却是整个系统性能差的根源。

         通过浏览器F12中的network我们可以清楚的看到一个简单的页面加载的时候不同模块消耗的时间等如下图:

         看到这个图的时候我也惊呆了,怎么可能单个请求发送了三次?难道是业务需要?---都不是,是因为easyui datagrid 的使用不当,大家请看下面的代码:

         Easyuidatagrid html代码:

         给datagrid添加右击和双击操作代码:

        

     原因推测:

页面加载的时候浏览器解析网页内容,这个时候url中的query请求发送一次,当浏览器解析到下面的js代码的时候,通过id选择器获得了datagrid这个时候浏览器再次解析datagrid,datagrid中存在url所以请求就被再次发送,两次添加方法额外多访问了两次。后来我又查看了其他的页面,发现几乎所有页面都是这么写的,导致页面加载额外访问多次(如果页面加载有3个请求,这样错误做出来就不得不访问9次。。。)。

     解决办法:

         Easyui的datagrid加载有两种方式,一种是通过js来加载,另一种是通过htmll来加载。上述错误应该是错误的将两种方式混合使用导致的。所以解决办法很简单,只要去除其中一种,只用一种加载方式即可。

         1:全部改用js加载。(大家可以自行查看easyuiapi)

         2:全部用html来写:

     总结:

                   在没有对一个东西有了全面深入的了解的时候,不要着急否认它,多看看行业内其他人的使用或者理解,很多时候我们觉得一个东西有问题,很肯能是我们还不够了解,其实,有问题的是我们自己啊。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 总经理离职了作为高管的我怎么办 企业换总经理想换供应商应该怎么办 换了晶振时间还快怎么办 职场两个人都想要你的情况下怎么办 造价起步工资太低又结婚了怎么办 3d保存时写入文件出错怎么办 无经验想在工地承包点小活怎么办 一级建造师挂靠后中标后怎么办 用360对系统修补漏洞很慢怎么办 如果美国和俄罗斯开战中国会怎么办 戴牙冠前临时补牙材料掉了怎么办 设备间在业主家里每次上锁怎么办 成都安全员证原件丢了并过期怎么办 记不施工员证书号了怎么办 优易学车学员版登录不了怎么办 先科移动dvd主板坏了怎么办 离职单位不出劳动解除书怎么办 离职后一级建造师注册证怎么办 京牌货车报废挂靠公司不给办怎么办 二建挂靠注册证书到期了怎么办 二建证书挂靠公司不给钱怎么办 二建拿到证书原单位不解锁怎么办 凯云软件清单锁定只读了怎么办 苹果笔记本鼠标触摸板没反应怎么办 苹果笔记本键盘和触摸板失灵怎么办 苹果手机输入密码显示已停用怎么办 苹果7p手机刷机黑屏了怎么办 苹果5s来电接听屏幕卡顿怎么办? 手机摔了一下触屏失灵怎么办 小米手机摔了一下触屏失灵怎么办 苹果6sp触摸ic坏了怎么办 苹果4s屏幕摔裂了怎么办 新换的手机内屏颜色太亮怎么办 苹果手机摔了一下屏幕失灵怎么办 苹果手机6s屏幕坏了怎么办 苹果6s屏幕摔坏了怎么办 苹果手机屏幕进油了屏幕变暗怎么办 苹果手机不小心屏幕进油了怎么办 苹果6充电插口螺丝口坏了怎么办 苹果5s手机安装屏幕翘边怎么办 苹果手机摔了一下触摸屏失灵怎么办