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

简单的介绍下,基础系统是我们整个高校云平台里一个子系统,整个平台用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来写:

总结:

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

小心错误使用EasyUI 让网站性能减半的更多相关文章

  1. 基于Yahoo网站性能优化的34条军规及自己的见解

    1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速 ...

  2. Yahoo!网站性能最佳体验的34条黄金守则(转载)

    1.       尽量减少HTTP请求次数  终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数 ...

  3. Yahoo!网站性能最佳体验的34条黄金守则

    Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心就是 ...

  4. 在线学习体验大PK 云智慧发布在线教育网站性能监测报告

    互联网不但改变了我们的生活.娱乐和消费方式,也推动各行各业进行着快速变革,越来越多的职场人士必须通过不断的学习.充电才能跟上行业发展的步伐,获得职业的提升,而这也引发了国内教育市场的爆炸式发展.据统计 ...

  5. PerfMap – 显示前端网站性能的热力图插件

    PerfMap 是用来分析前端性能,基于资源定时 API 生成网页资源加载的前端性能热图.热图的颜色和第一个毫秒值指示在什么时候页面的图像加载完毕,这是用户体验的一个很好的指标.括号中的第二个值是浏览 ...

  6. 网站性能工具Yslow的使用方法

    Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了提高网站速 ...

  7. 网站性能优化(Yahoo 35条)

    Yahoo 网站性能优化 35条 一.内容部分 尽量减少 HTTP请求 减少 DNS查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM元素数量 用域名划分页面内容 使 frame数量最少 ...

  8. 【转】Yahoo!团队:网站性能优化的35条黄金守则

    Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心 ...

  9. 教你50招提升ASP.NET性能(十八):在处理网站性能问题前,首先验证问题是否出在客户端

    (29)Before tackling any website performance issue, first verify the problem isn’t on the client 招数29 ...

随机推荐

  1. eclipse插件wordwrap

    一行代码很长,浏览不方便,安装wordwrap可以自动折行. help->install new software-,在Workwith输入wordwrap - http://ahtik.com ...

  2. Linux查询用户和组的命令

    root@PC-RENGUOQIANG:~# cat /etc/passwd root:x:::root:/root:/bin/bash daemon:x:::daemon:/usr/sbin:/us ...

  3. 基于Windows Subsystem for Linux (WSL) 【Ubuntu】在WIN10 Home Edition安装Docker

    root@Andy-PC:~# uname -a Linux Andy-PC --Microsoft #-Microsoft Fri Apr :: PST x86_64 x86_64 x86_64 G ...

  4. [转帖]论iPhone处理器十年进化史

    论iPhone处理器十年进化史 导读: 今天,苹果发布了最新一代的iPhone,作为新一代的旗舰,新手机的功能承载了苹果对未来的希望和消费者的期待.但从我们半导体人看来更关注的是内部技术的演变,尤其是 ...

  5. [转帖] Win10 多桌面转换的快捷键

    http://down.52pk.com/zhishi/52202.shtml win10系统中用户除了可以切换任务之外,还可以进行多桌面切换,就像是切换了电脑屏幕一样,可能网友们还都不知道win10 ...

  6. React componentDidMount

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  7. 转载《ionic 热更新 cordova-hot-code-push》

    cordova-hot-code-push ,Cordova热代码推送插件提供了在应用程序中执行基于Web的内容的自动更新的功能.使用此插件可以更新存储在项目的www文件夹中的所有内容. cordov ...

  8. 解决从pip上下载的最新flask版本不能运行flaskr和最新特性的问题

    由于在测试flask的单元测试.所以准备弄个环境,查询官方文档发现flask源码里面有一个example文件夹里面有个flaskr应用 可供测试 看了一下readme文档,大致是这样 / Flaskr ...

  9. Spring AOP动态代理原理与实现方式

    AOP:面向切面.面向方面.面向接口是一种横切技术横切技术运用:1.事务管理: (1)数据库事务:(2)编程事务(3)声明事物:Spring AOP-->声明事物   2.日志处理:3.安全验证 ...

  10. 洛谷P3515 [POI2011]Lightning Conductor(动态规划,决策单调性,单调队列)

    洛谷题目传送门 疯狂%%%几个月前就秒了此题的Tyher巨佬 借着这题总结一下决策单调性优化DP吧.蒟蒻觉得用数形结合的思想能够轻松地理解它. 首先,题目要我们求所有的\(p_i\),那么把式子变一下 ...