需要性能测试方案

时间:2009-07-10 10:42:11

标签: performance optimization testing

对于流量巨大的网站,可考虑哪些性能测试方案?有没有办法找出对网站性能产生负面影响的代码元素?

请提供与要测试的通用方案清单类似的内容,以确保进行适当的性能测试。

6 个答案:

答案 0 :(得分:1)

最好从一些负载测试工具开始,例如JMeterPushToTest,然后开始针对您的Web应用程序运行它。 JMeter模拟HTTP流量并以这种方式加载服务器。您可以使用PushToTest加载测试应用程序的AJAX部分,因为它可以使用Selenium Scripts。

如果您没有资源(运行负载测试的计算机),您始终可以使用BrowserMob之类的服务来针对Web访问服务器运行脚本。

答案 1 :(得分:0)

听起来你需要更多的测试计划,而不是使用工具的建议。在性能测试中,最好查看应用程序的用户 -

  • 多少会在轻松的日子里使用该应用程序?有多少人会在沉重的一天使用该应用程序?
  • 哪类用户构成您的用户群?
  • 这些用户类型将执行哪些交易

使用此信息,您可以识别主要交易并提出不同的用户级别(例如10,25,50,100)和用户类型的百分比(30%用户A,50%用户B,......)用这个来测试这些交易。为您执行的每个测试计算每个事务的时间,并检查事务时间与用户级别相比的变化情况。

收集一些指标后,由于您应该能够将交易范围缩小到单个代码段,因此您将能够知道代码改进的重点。如果您仍需要进一步缩小范围,可以创建每个事务中的更精细测试,以提供更精细的结果。

答案 2 :(得分:0)

并发性会在这里杀死你,因为你需要测试最大的预计并发用户数+同时攻击数据库,网站和任何其他网络服务的扭动空间。这实际上取决于您使用的技术,但如果您有不同网络技术的大量互动,您可能需要查看Neoload。我只有成功使用这个网络压力工具,如果您需要模拟特定的,复杂的行为(例如模拟AMF流量,或使用网页响应来指示请求行为,那么支持是最佳的。)

答案 3 :(得分:0)

如果您有一个数据库层,那么一旦系统稳定(即没有内存泄漏或其他资源问题),这应该是您最初关注的焦点。如果数据库不是瓶颈(或不相关),则需要将CPU /内存/磁盘IO和网络流量与负载增加和响应时间增加相关联。这可以让您了解资源使用情况的容量和相关性(但不是原因)。

要查找具有资源的特定问题的原因,您需要建立一个六西格玛样式项目,您可以在其中定义问题并执行根案例分析,以便确定作为瓶颈的代码片段(或资源配置) 。一旦在您的环境中完成了几次这样的操作,您就会注意到工作负载,资源使用和对策(解决方案)的模式,这些模式将指导您进行未来的性能测试“项目”。

答案 4 :(得分:0)

要选择正确的性能方案,您需要查看下一个基本检查清单:

  • 从业务逻辑角度看高优先级方案。例如:登录/订单交易等。
  • 最终用户最常使用的方案。在这里,您可能需要来自NewRelic等监控工具的信息。
  • 搜索/过滤功能(如果适用) - 涉及不同用户角色/权限的方案

答案 5 :(得分:0)

性能测试是对同一应用程序的先前版本或市场上现有玩家的比较测试。

案例1-现有申请

1)对前面介绍的相同场景进行测试,以便在升级前后清楚了解应用程序的响应。

2)如果你需要深入挖掘,你可以回到数据库团队,了解哪些功能正在获得更多请求。同时询问他们在任何特定日期的平均请求总数,以便您可以接听用户负载和测试时间的电话。

案例2-新申请

1)寻找现有市场参与者并根据竞争对手产品的关键功能设计您的测试(例如,Gmail可能支持许多功能,经常使用的是启动 - > gt;登录 - >撰写邮件 - &gt ;收件箱 - >发件箱)。

2)任何时候您都可以回复您的客户,他们认为这些业务关键场景或场景会更频繁地使用..