软件的一个新功能正在增加,特别是像QQ客户端软件这样的大的规模,随时适应用户需求的发展需要和不断快速更新的需要,发展得非常快。因为我们的用户是庞大的用户,所以用户的软件和硬件环境非常复杂。作为软件的第一个用户体验,如何系统地保证软件的性能对QQ是非常重要的。
那么,应该怎样做才能保证持续开发过程软件的性能得到保证呢?
1 .工作需求阶段开始考虑性能
第一阶段的需求,需求阶段应该开始考虑性能,产品经理提出需求之前,必须系统地理解什么因素影响软件的性能,这些因素包括,但不限于:处理时间的需求,需求,处理要求处理的数量参与IO, 络,CPU。特别是在使用功能清晰的时候,涉及到信息记录的需求,例如,可能会想要考虑一些用户的新闻记录非常大,比如涉及好友列表的需求,可能会想要考虑一些用户的好友列表等。
当使用时间时,例如需要登录时,您可能需要考虑是否需要对登录速度产生影响,如果是在登录之后,是否会导致登录卡。
结合这些特点,从需求方面的一些需求可能有问题,或者考虑直接不做这个需求,或考虑不同的处理,使用不同的特征,如考虑到消息记录可能很大,所以参与新闻创纪录的需求尽量不要读整个消息。有时,也可以考虑切换需要处理的时机,如更新的需求朋友的概要文件,如果在登录过程可能导致登录过程是缓慢的,所以需求可以修改登录过程加载本地数据首先,登录后又一个免费的时间做必要的更新。
2.如何在需求开发阶段考虑性能
在需求开始开发一个有经验的程序员之前应该先设计,在架构设计的过程中,我们应该考虑性能,让架构能够支持足够多的数据,可以保持结构在各种场景性能问题中不需要。不同类型的处理是在设计完成的时刻,但是具有出色性能的架构是一个很好的架构。
在实际开发过程中,充分考虑使用场景和并发用户的数量,如开发火车票预订系统,如果不考虑旅游时间的特殊情况,那么最终只能在春节运输系统的时候进行。
也许这一次有人会问,是不是有这么多用户在春节旅游,系统就不能支持那么我们应该做什么呢?至少从两个方面来解决,一个方面可以考虑在大量流量的时候,票只提供核心业务,如支持,和 站的一些图片的不提供拉力。另一方面,您可以考虑为用户提供对正常服务系统的最大支持,并且您可以拒绝某些用户提供的超过负载的服务。设置提供了排队等待的机制。
3 .项目如何在测试中关注性能
我们还需要做什么来确保测试阶段的性能?
首先,我想强调的是,测试是确保产品性能最终达到的最后保证。因此,必须严格要求此链接。
从信仰,只要学生必须修改代码的开发,所以可能引入的性能问题,我们开放之前的一个朋友聊天窗口卡当一个性能问题,因为当桌面快捷方式图标打开聊天窗口的过程中与一行代码。
在测试方法上,要小心测试一些接近现实的数据,包括之前记录中记录的消息的大小和好友列表的数量。还要注意覆盖各种使用场景。最后特别注意是注意使用各种机器的各种 络环境来测试各种各样的软件环境,机器,主要包括性能良好的机器,机器的性能下降,机器的 络环境需要考虑 络包丢失大在某些情况下,甚至设置局域 广域 和中国运营商之间不同的 络场景。软件环境,一方面包括不同的操作系统,一方面包括运行在同一时间和环境下的软件的安装,例如杀毒软件、安全软件,或者在同一时间运行一些大型游戏的情况。
当然,在最好的情况下,建立一系列自动化的测试框架,放置一些重要的数据,我们通常会密切关注如QQ登录速度、BuKa登录卡、打开好友的聊天窗口的速度等。通过定期执行自动化测试并将数据与不同的历史版本进行比较,可以以最快的速度快速监控和发现性能问题。
4.反馈跟踪如何关注性能
在产品发布之后,它将继续关注它的性能。一方面,由于我们的用户基数很大,一些条件和使用场景不可避免地会被认为是很好的,所以最后的阶段版本不是问题,而是一个合格的版本。
我们经常关注微博,关注产品本身的反馈,BBS,以及一些外部论坛来收集信息。关注你周围的朋友和同事的反馈也是很重要的。
用户反馈有问题,应及时治疗,治疗方法一方面,学习用户的使用场景和使用,另一方面可以给用户一些工具,通过这些工具来记录时间的CPU、内存、I / o使用情况,接口信息,如:你有什么反应。与此同时,当软件处于忙碌状态时,最好跟踪性能问题,系统调用的堆栈和功能,可以在那个时候快速解决问题。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!