荥阳吧百度贴吧:客户端初级性能问题小谈

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 01:54:37

客户端初级性能问题小谈

2010年12月20日 由 dahai 留言 »

客户端性能问题典型特征是:卡,慢。以下几点是未经性能测试工具,在项目初期我们便可以提前发现,可以降低项目风险。
1)  肉眼可以直接观测到的。

1.数据记录多时,切换记录。

问题本质:查询,插入等sql语句粗糙,读取本地数据库因遍历耗费时间较长。

解决方案:收集sql语句,提交dba审核。

2.切换统计类列表时重影。

问题本质:查询插入等sql语句的多次提交。

解决方案:优化sql,避免多次提交。

2)  单元测试可以观测到的。

1.程序循环的多层嵌套。

问题本质:嵌套层太深,过度消耗cpu内存。

解决方案:单元测试code review遇到多层嵌套的时,提醒开发优化代码,减少嵌套层次减少循环次数。

2.程序算法过于复杂。

问题本质:算法复杂。

解决方案:将不需要算法模拟的数据剔除。

例如:数据交互时所有数据均经过加密解密算法必然性能差。如果只针对隐私内容进行加密解密则可在一定程度上缓解性能问题。

3)  设计方案评审时可以察觉到的。

1.从外部接口获取大量数据。尤其客户端对这批数据有依赖的情况。

问题本质:设计方案不合理。

解决方案:本地调用优先于外部交互,在使用前就已经获取该数据存储于客户端。例如:1.客户端启动后台程序在使用前优先获取这批数据;2.服务端定时主动向客户端推送数据。

2.线程的设计不合理。

问题本质:未能充分利用多线程,将过多的任务集中于主线程。造成主线程工作时间过长,特别是主线程处于模态的情况下,给用户造成卡的现象。

解决方案:将次要内容放于公共线程,主线程只做少量优先级高,重要性强的工作。

3.数据库选型

数据从数据库读取写入本身就速度慢,在大批量读取写入数据库文件时候会卡。该点需要在数据库选型的前期,作为选型的一项基本参考数据加以测试。

VN:F [1.9.7_1111]