如何为网站进行负载测试?

时间:2012-12-18 11:33:24

标签: testing load

我想做性能测试。但我们没有任何要求。我想为网站进行负载测试。我该如何进行这些测试?

我的网站就像youtube(社交应用程序)。在这里,我想检查有多少用户可以在特定时间上传视频,我们可以存储多少视频,可能有10000个视频?如何测试这些。

我目前正在使用JMeter进行负载测试。

您能发送一些建议吗?我们要检查的时间是什么?需要多少并发用户?

谢谢

4 个答案:

答案 0 :(得分:2)

这里有两个不同的问题:

  1. 要求:您要查找的统计数据是什么?
  2. 技术:你如何测试你是否达到了为自己设定的目标?
  3. 关于(1): 在完美的世界中,您将能够分析目标客户范围并了解有多少人同时使用您的系统。然后,您将了解其中有多少实际会在您的网站中触发响应(同时),并从中了解您需要同时处理多少请求。

    您可能想知道的另一个问题是您可以预期的数据大小。如果您有1,000,000个用户,并且100个用户中有1个上传了视频,则会导致数据库中有10,000个视频。所以这个问题的答案再次取决于用户数量及其行为。

    可能会进行某种市场调查并提出数字,但精益创业方法表明你通常不知道这些问题的答案,你只是猜测,而且通常你猜错了。 / p>

    因此,假设您真的不知道任何事情,那么您应该了解如何使系统可扩展,以便支持任意数量的并发用户和任何大小的数据。

    但是,您可能想知道有关您正在使用的当前基础架构的统计信息。这导致我们(2)。

    JMeter是一个测试并发负载的好工具,你没有说明你的服务器是什么写的,但是JMeter建议使用Java,在这种情况下,你应该了解内存限制和垃圾收集时间。

    假设无状态(或至少是会话粘性)分布式系统,您可能希望针对给定数量的并发请求测试单个“典型”服务器的响应时间和故障。从小开始,然后越高,结果仍然可以接受(即,对于100个并发请求,50ms响应时间和0个失败响应是可接受的,1000并发给你300ms延迟和5个失败响应,并且在5000你得到500ms和15个失败的回复,这是你认为可以接受的延迟,以及你可以接受的大量失败)

    您可能希望从上面更改“典型”并了解不同的基础架构如何为您提供不同的结果,今天的云服务的好处在于您可以轻松地访问EC2并获得任何类型的基础架构,而且投资很少测试你的结果,这样你就知道你需要购买什么(假设你不想留在EC2上)。你也可以使用EC2来托管JMeter实例(我读过一篇关于它的文章,不记得谷歌在哪里),并且你可以在200 $ / test下发出许多并发请求。

答案 1 :(得分:2)

http://www.loadstorm.com

是一个很好的网站,可以开始进行负载测试。

如果您正在寻找更高级的东西,请尝试使用hp loadrunner -

http://www8.hp.com/us/en/software-solutions/software.html?compURI=1175451#.UmbpLZRgY08

答案 2 :(得分:0)

根据我的加载测试经验,您可以查看这些解决方案

  • http://www.webperformance.com/我们使用Web Performance生成 虚拟客户端,它们提供了非常好的工具,集成到AWS中, 所以与其他解决方案相比,它快速而便宜。
  • http://newrelic.com这个人要监控我们的服务器和应用程序, 图表显示非常详细的信息(瓶颈,资源, 等。)

哦,关于这个问题有一本有趣的书(http://www.amazon.com/Scalability-Rules-Principles-Scaling-Sites/dp/0321753887),这将是很有帮助的。

答案 3 :(得分:0)

  

但我们没有任何要求。

构建性能测试是一项微观开发工作。如果没有要求,您将不知道要在测试中构建什么,从哪些业务流程包括每种类型的用户到可接​​受的响应时间。如果您正在对现有应用程序进行性能测试,那么您可能会为现有的用户群提供事务数据(以及可能的转换数据)。希望这些信息是历史性的,因此您可以观察到随时间的增长。为你的负荷计划18个月,更好的36个月。

您将需要参与要求的业务利益相关者。此应用程序是为满足业务需求而构建的,根据此部署的成功或失败,某人将被降级,解雇,升级或奖励。找那个人!任何想要获得此申请奖金或职位的人都可能非常了解业务需求和期望。

如果这是您第一次参与性能测试工作,那么您可以自己聘请该领域的专家。您需要的技能大约有85%与工具无关,最后一点由您的工具填充,以便您进行测试。 85%对于需求,监控,分析和报告部分至关重要。作为一名绩效测试人员与许多其他学科没有什么不同,在这个意义上,最好的发展路线是通过对核心技能的确认,对流程,方法和工具的正式指导,然后是一段实习期。你有没有看过一个没有技能的人作为理发师或没有砌筑训练的人提出的砖墙?如果是这样,那么您就会明白,如果您刚刚加入角色,性能测试将具有什么价值。

聘请经验丰富的项目负责人。像新生小狗一样跟着他们。记下大量的笔记。问很多问题。确保您可以维护他们为将来使用而开发的内容并理解为什么开发项目

否则没有要求你就有可能走上“艺术考试”的道路。艺术测试是与生产数据的要求和/或观察结果脱离的性能测试。您可以在很多环境中看到这一点,在最终只剩下一两周的时间进行性能测试,项目没有滑点,没有时间解决任何问题。简而言之,它成为一个低价值的核对框。

哦,检查你的日志,了解上传时的实际并发性。你会发现什么会让你感到惊讶和喜悦。我花了一个多小时与某人讨论,告诉我他们的网站上有10000个并发用户,只是在查看日志时发现平均会话持续时间不到10分钟,10分钟块内的最大并发数仅为1几百个用户。

相关问题