最近做
portal
的压力测试,一个字“累”。其中犯了不少错误,白白加了几天班,也有一些体会,就记录下来,希望对大家有所帮助。
首先讲压力测试环境。这个很是关键,我们就是在这个上面吃了苦头。我们用的
loadrunner
,原理也很简单,一台主控机,控制多台客户机,模拟并发用户访问应用。然后需要能实时监控各相关应用服务器,
ldap
服务器等的性能。这里每台客户机最好能使用同样的配置,使用足够带宽的网络,给予同样的负载(模拟同样数量的用户)。同时要注意监控客户机的
cpu
和网络状况,时刻保证
cpu
和网络利用率低于
100%
。我们犯的很大错误就是使用各自的笔记本,而且都使用的是一个
10M hub
牵出的网线,这样导致实际的网络阻塞,既没有给予服务器足够的负载,又导致报告的响应时间比实际更长,从而带来了后续很多的无用测试。
然后讲测试方法。用的较多的还是持续压力测试,就是持续给予服务器一段时间的并发量(一般为
5
到
10
分钟),然后看平均响应时间是否在可以接受的范围内。这个“可接受”要视应用类型和实际的并发用户而定,如何估计并发就要靠经验了。对于
portal
而言,由于要与众多的应用接口,如进行
SSO
,获取数据等,有很大程度也依赖于其它应用的性能,其性能要求不会太高。我们测试首页的性能,在放上全部的
portlet
的情况下,
100
个并发的平均响应时间就在
17s
左右,这肯定是不能接受的(
10s
只能算勉强可以)。接下来就是发现性能瓶颈,并尝试进行优化了。
初步的发现瓶颈的方法也很简单,通过对
portlet
的增减,发现最影响性能的
portlet
,然后不断优化,直至达到可以接受范围。发现瓶颈所在了,就得进一步确定是什么原因:是我们本身程序的问题,还是其它应用接口性能不佳等等。这里光靠猜是不行的,要讲数据讲事实,记录时间日志就是简单有效的办法,我们对各个时间点打印了日志,比如
doview
方法的全部执行时间,
jsp
的载入时间,具体接口的执行时间等。有些接口可能在压力较小的情况下性能不错,而在大压力情况下出现性能隐患,所以一定要在进行压力测试后查看日志。我们就是这样发现了性能隐患,同时更进一步对各方面进行优化,直至达到客户可以接受为止。
由于不是专门的测试人员,很多地方都是实际项目中的体会,也没什么理论基础。有什么不对的地方,大家多交流。
分享到:
相关推荐
总结起来,C++的单元测试、压力测试和快速测试工具对于保证软件质量至关重要。单元测试确保了代码的功能正确性,压力测试揭示了系统的性能边界,而快速测试则加速了开发迭代。开发者应当熟练掌握这些工具和技术,以...
总结,猎人压力测试工具以其简洁的操作和强大的测试能力,成为广大IT从业者进行服务器压力测试的得力助手。正确地运用这款工具,结合最佳实践,不仅可以提升服务器性能,还能保障服务的稳定性和用户体验。通过持续...
软件压力测试报告.pdf 本报告主要介绍了学生选课系统软件的压力测试报告,目的是为了评估软件在高并发情况下的性能。报告中详细介绍了测试项目、测试环境、测试人与测试时间、测试案例的测试结果和测试总结等内容。...
总结,路由器压力测试工具是网络管理中不可或缺的工具,它们可以帮助我们更好地理解路由器的性能极限,提前发现潜在的问题,以确保网络服务的高效稳定。正确使用这些工具,结合实际网络环境,能够为网络优化提供有力...
在IT行业中,压力测试是一种重要的系统验证方法,用于评估应用程序、网站或服务器在高负载条件下的性能、稳定性和可扩展性。"毁灭压力测试完美终极版"是一个专门针对这一需求设计的工具,它能模拟多用户并发访问,...
总结来说,ab工具是一个强大且实用的压力测试工具,对于理解Web服务器性能、进行系统调优以及确保服务在高并发情况下的稳定性具有重要意义。掌握其用法和应用场景,可以帮助IT专业人士更好地维护和优化他们的网络...
总结来说,"使用jmeter做ws压力测试"涵盖了JMeter的使用方法,从配置请求到设定压力测试参数,再到结果分析和性能优化,是一篇深入浅出的教程。对于开发者和测试人员来说,理解并掌握这些知识点对于提升Web服务的...
本话题将聚焦于HP-Socket的压力测试及其易源代码,这对于我们理解和优化网络服务性能至关重要。 一、HP-Socket简介 HP-Socket是一个C++编写的网络通信库,它提供了丰富的API接口,支持TCP、UDP等多种网络协议。该...
总结来说,这个基于C#的系统压力测试工具是一个强大且实用的性能评估手段,它能够帮助我们深入理解系统的承载能力,提高软件的稳定性和可靠性。通过对进程和线程创建压力的测试,我们可以有效地预防在实际环境中可能...
总结,Linux压力测试LTP是Linux内核质量保障的重要工具,通过详尽的测试用例,帮助开发者和用户确保系统的稳定性和性能。了解并熟练使用LTP,对于提升Linux环境下的软件质量及用户体验具有重要意义。
总结起来,.NET压力测试涉及到选择合适的测试工具、设计合理的测试场景、分析性能指标等多个方面。通过编写和执行压力测试代码实例,开发者可以有效地找出代码中的性能问题,优化系统性能,为用户提供更稳定的软件...
总结来说,JMeter MQTT服务器压力测试是一项重要的性能验证手段,它帮助我们确保MQTT服务器在面对大规模并发连接和高频率消息传输时能够正常工作。通过深入理解MQTT协议、JMeter工具和定制化的加密方法,我们可以...
Monkey 压力测试报告 本报告主要针对 Monkey 压力测试进行详细阐述,旨在评估和优化软件的稳定性和性能。Monkey 测试是一种在 Android 平台上广泛使用的自动化测试方法,通过模拟用户随机操作来发现潜在的问题和...
总结,网站负载压力测试对于保证服务质量至关重要,单机版工具提供了简单而有效的测试手段。无论你是个人开发者还是团队成员,了解并掌握这类工具的使用,都将对提升网站性能和用户体验产生积极影响。
在IT行业中,压力测试是确保系统稳定性和性能的关键环节,而Apache JMeter是广泛应用的一款开源压力测试工具。本文将深入探讨JMeter的使用方法、重要功能以及如何进行超细粒度的压力测试报告分析。 首先,JMeter是...
在本文中,我们将对 10 种常用的 web 压力测试工具进行总结和比较。 1._LoadRunner_ LoadRunner 是一个功能强大的性能测试工具,支持多种常用协议,且个别协议支持的版本比较高。它可以设置灵活的负载压力测试方案...
总结整个压力测试过程,评估系统在高压环境下的表现,确认是否达到预期目标,并对未来测试工作提出方向。 9. 附录 包括所有相关的附件,如日志文件、屏幕截图、测试脚本等,以供参考和验证。 通过这个压力测试...
总结,选择合适的登入压力测试工具并有效地执行测试,对于优化系统性能、提升用户体验至关重要。通过深入理解各种压力测试工具的特性和使用方法,我们可以更好地应对各种复杂的系统压力测试挑战。
**SYN压力测试工具详解** ...总结,SYN压力测试工具是网络管理员的重要工具,通过模拟SYN攻击,可以评估和优化系统的抗压能力,防止或减轻可能的网络安全威胁。正确使用这些工具,可以提升系统的整体安全性和可靠性。
在IT行业中,压力测试是一种非常重要的质量保证活动,它旨在评估和验证系统在高负载或大量并发用户情况下的性能和稳定性。"反伊网站压力测试"这个标题可能指的是针对一个特定名为“反伊”的网站进行的压力测试过程。...