凡事从积极的态度做起
记述技术(Web/BI/biztalk infopath/sharepoint)、人、事

网站系统性能优化纪实:从十几秒到两秒

星期二, 29 七月 2008 12:03 by cleo

朋友说有个网站叫我去看看,优化一下。

java做的网站,其实我心里没底,因为我很少用java的东西,所以邀请了另外一位java的朋友一起。

 

第一阶段:从十几秒到6秒

打开网站之后,发现最慢的页面需要十几秒才能出来,这显然是用户没有办法接受的。所以就从最慢的页面开始吧。

焦点先放在这个最慢的页面,发现该页面左边是一个树形列表,右边是一个简单的单条数据修改界面。

我们先关注的是代码问题,

所以问题的焦点放到这个树形列表。这个树形列表数据量相对比较大,估计5000~10000个节点左右,我看了看使用的是MzTreeView 的树形列表,看了他的说明,几千条数据应该不是问题,(听说CSDN也是用的这个)。

难道从数据库读取节点数据的算法有点问题吗?找到相应的代码,看了应该是没有多大问题的。

既然代码没有问题,我们只好检查服务器的性能和软件配置了

只要登录到服务器,看看服务器配置确实也比较差,不过据我们估计,就算服务器差也要不了十几秒。

我们注意到tomcat在我们访问页面时候,CPU占有比较高。我们猜想,速度慢可能和tomcat有关系?会不会调节一下tomcat的配置能够变快?

搞java的提醒我,JVM虚拟机内存大小可以调一下,我就去打开tomcat的配置界面,最低调整到256M,最高调整到512M,重启tomcat,没想到效果就有了:现在只要6秒左右可以出来了。

第二阶段:从六秒到2秒

我们注意到一个细节,在本地访问比我们从远程快。显然,我们认为这和传输有关。

我们考虑查一下,这个页面到底有多大,没想到直接从浏览器还看不到,显示未知大小。

只好用微软那个webtest的工具,可以看到,这个页面有500K以上,500k的数据传输需要6s也算是正常了。

我们认为解决的办法有几中,一是加大服务器带宽,是不是会快一点,但是一想,第一需要投资,第二人家客户端带宽小,照样会很慢。

第二条路,怎么样减小页面的大小。

减小的办法我们最先考虑树形列表是不是可以分层加载,这样肯定可以,不过这样需要改动比较多的代码。先搁置这个办法。

有没有不动代码,减少带宽需求的?有,web server进行压缩(IIS有压缩,tomcat也应该有),因为主要是树形列表的节点数目比较多,而使得文件比较大,所以压缩率应该是比较大的。

上网一搜,tomcat果然可以配置压缩,而且非常简单。

我立马配置了一下,没想到,效果非常好。(虽然压缩是要占用CPU的)。

该页的访问从6s一下到了2秒左右。

我想2s左右是一个能接受的范围,所以优化工作算是取得阶段性胜利。

收工。

当前评分 5.0 , 共有 1 人参与

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:  
Actions:   E-mail | del.icio.us | Permalink | 评论 (2) | Comment RSSRSS comment feed

评论

添加评论


(将显示你的Gravatar图标)  

  Country flag

biuquote
  • 评论
  • 在线预览
Loading



 
酷站目录