软件系统开发常见的性能问题类型分析

2019/11/13 14:27:43 作者:合肥达内发布企业:达内时代科技集团有限公司[打印]

性能问题是程序员在开发软件的时候需要重点关注的问题之一,下面我们就一起来了解一下,软件系统性能问题常见类型都有哪些。

1、界面卡、反应慢

界面卡、反应慢主要是指程序的响应速度过慢,包括:界面对鼠标键盘输入的响应速度;一些比较耗时的系统API的处理速度,比如读写文件等;以及目标程序的一些关键路径的执行速度。

界面响应速度,这里我们可以用每次消息循环的执行的时间点以及时间消耗来判断。另外我们也可以向目标程序发送WM_NULL消息跟据其响应时间来判断响应速度。

系统API执行速度,用hook的方法记录调用的线程ID、时间点、消耗时间以及一些必要的参数(比如读写的是哪个文件)。

对于一些关键路径,我们需要记录下来执行时的线程ID、时间点和时间消耗。这一点针对性比较强,直接在目标程序加入log就可以了。当然也可以用hook的方法,但不推荐。因为Hook的实现相对比较复杂,需要实现一个跳板函数,在跳板函数中记录相关信息。Hook更适应于记录一些调用次数频繁的系统级API。而一些关键路径往往与目标程序逻辑密切相关,整个过程只有几次调用,甚至可能只有一次或完全不调用。这样就完全没有必要用hook的方法。

2、CPU高、内存大

针对CPU高、内存大,我们按时间顺序以固定的时间间隔记录下来目标进程的CPU和内存的消耗就可以了。在CPU占用方面我们也可以更进一步记录下每个线程的CPU消耗。

3、有了上面的数据就够了吗

不够。比如,当我们收集到一组数据,分析后发现目标进程在启动后35秒-40秒的这段时间对WM_NULL消息无响应(界面卡住)。然后呢然后我们仍然没有办法知道为什么会卡,以及卡在哪里。所以我们还需要目标的调用堆栈。同样按时间顺序以固定的时间间隔记录下堆栈信息。这样当我们发现问题的时间点后,便能得到当时一个堆栈执行情况。

4、还需要哪些数据

任何你关注的数据都可以记录下来。假如你关注IO对性能的影响,那么就记录下IO量和页面错误的数据;你怀疑是不是有其它模块的注入影响了你的程序,那么你也可以记录下来目标进程的模块信息……

组织分析数据

把数据初步整理,以图形的方式直观的表现出来。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。


关键字:合肥达内,软件开发班,电脑培训班
免责声明:以上所展示的信息由网友自行发布,内容的真实性、准确性和合法性由发布者负责。行业信息网对此不承担任何保证责任。任何单位或个人如对以上内容有权利主张(包括但不限于侵犯著作权、商业信誉等),请与我们联系并出示相关证据,我们将按国家相关法规即时移除。

其他新闻

关于我们 | 服务条款 | 网站指南 | 免责声明 | 友情链接 | 给我们留言
红盾
COPYRIGHT @ 2001-2017 CNlinfo.net ALL RIGHTS RESERVED
深圳市信息行业协会商务网站 运营商:深圳市兴讯信息技术有限公司 粤ICP备:05039908
营业执照