Web开发中的常见问题(一) 20110401

曾经给一个企业的ERP系统调优。除了系统架构、配置、数据库、操作系统等方面外,发现系统的实现有很多低级问题。

 

首先,是核心代码的低效。比如,关键地方用了synchronized,但做的不够细致,导致一些没必要纳入同步的耗时调用也包含在同步块中。关于synchronized,还有一些类型涉及到隐式的同步,也应引起注意。

 

其次,是数据库连接的使用。虽然采用了连接池,但在一次事务中多次调用数据库时,每次都获取一个连接。这无形中增加了事务的细粒化后的资源竞争。

 

第三,页面逻辑上存在过多的超前调用。比如,一个页面中有多个Tab,当页面被访问时,一次性地获取了所有Tab的内容。如果这些Tab页面中包括耗时操作,显然会降低用户体验。如果包括数据库操作,还会增加对数据库连接的占用。

 

与之相应的是Tab页面中的提交。有些实现会一次性地刷新所有Tab页面。这显然也是非常不明智的。

 

第四,在跨(子)系统间同步数据时,不考虑增量修改,每次总是提交所有内容,因此也得承受小时级以上的等待。

 

第五,大数据量查询没考虑分页。这不仅加重数据库服务器的负担,占用了网络带宽,还可能导致JVM的内存溢出。

 

另外,有个容易引起忽视的问题,发布到生产系统的代码中包含有大量的调试输出信息。

 

以上这些问题,说起来容易,但真正在落实时,很多人都没太注意,对于初级、中级程序员尤其如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值