如何判断程序的运行瓶颈

如何判断程序的运行瓶颈,第1张

这种事需要你提供一个运行测试的报告,一切就解决了。

在用户反应慢的时候,给一份全天运行的硬件负载其实已经很够了,用户看不懂报告的话,派一个人去解释说明每一项都可能影响哪些软件性能,同时你要反过来给用户建议,让软件开发商提供完美运行的配置需求,此外建议建议用户使用一些性能测试工具去压软件测试负载情况。

运行反应慢有很多可能,cpu,内存,带宽的负载都很低的时候,软件方面的问题还可能是:连接请求失败太多、数据库查询太慢或者程序处理太慢,看给出的配置,应该是windows系统,找一个性能测试方面的人,简单配置一下系统的监控项目,出一个运行报告,在运行的时候监控报告应该给出这些指标:

硬件方面

内存使用数

cpu占用率

硬盘读写速度

网络带宽负载

网络请求封包数

软件方面

web 请求数量

web并发连接数量

web 请求成功与失败比率

web 请求平均响应时间

数据库请求 *** 作数

数据库并发连接数

数据库缓存命中率

数据库 *** 作响应时间

数据库进程负载情况

web server (IIS、Apache、Nginx)进程负载情况

有了这些指标你才能给用户足够的说服力证明在软件负载很大的时候,硬件资源占用还是很低。其中最重要的指标应该是数据库 *** 作响应时间和web平均响应时间,这两个如果在硬件负载不高的时候很慢,绝对就是软件方面原因,至于具体原因要看颗粒度更细的测试报告才能清楚,不过那应该属于软件开发商的事情了。

可以出这种报告的软件很多,系统自带的performent monitor ,LoadRunner,WebLoad,JMeter,MSACT。找一个熟悉性能测试的人出个方案即可,涉及到这些复杂系统应用的事情,上线前没有做过任何可用性/性能测试吗。

1、首先你得分析你的网站有那些功能(在压力中被称为场景),这些功能那些需要做压力,比如有多个查询,那就只取典型的一个或者两个来做压力。

2、确定要做的功能后,录制编辑脚本并做相应的参数化以及返回数据正确性的判断

3、因为已经是上线网站,所以肯定每个功能都有相应的要达到的标准,此时要做的就是确定想能达标的标准,如并发多少用户,响应时间要低于多少,TPS要达到多少等等。

4、设置场景

5、进行压力并监控服务器性能

6、分析压力报告并结合服务器性能在压力过程中的变化,给出相应的压力报告

对这种没有具体标准的压力,首先你的估算服务上线后高峰时的用户数,具体压力方面你可以采用场景设置为用户递增的方式,找出TPS最大时正处两头的大概的用户数,根据这个用户数的范围和第一步估算的用户数,最终来确定并发的用户数。至于网速问题,这个是硬件问题,建议刚开始做压力的时候在局域网,排除外网的影响,这样如果压力的时候出问题也好定位,也更容易定位性能的瓶颈。在压力的过程中你关注吞吐量,按一般的经验来说,除非是大数据量,要不单个客户端的4m网速绝对不会影响压力的结果

可能是因为并发访问量太大引起的,检查一下你的网络交换机、路由器是不是有瓶颈。

关于502和503这两种状态码,建议你参看百度百科:>

以上就是关于如何判断程序的运行瓶颈全部的内容,包括:如何判断程序的运行瓶颈、怎么样用LoadRunner对已经上线的网站进行测试需要测试哪些地方、loadrunner 测试时候是否会对用户产生影响等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10140198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存