2012-12-18 41 views
3

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

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

我目前使用Jmeter进行负载测试。

你可以提出一些建议,我们要检查什么时间。需要多少个并发用户。

感谢你

回答

0

根据我的荷载试验的经验,你可能会考虑这些解决方案

  • http://www.webperformance.com/我们使用Web性能产生 虚拟客户端,它们提供了非常好的工具,集成到AWS , 因此它比其他解决方案快速且便宜。
  • http://newrelic.com这家伙来监视我们的服务器和应用程序, 图形显示非常详细的信息(瓶颈,资源, 等)

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

2

这里有两个不同的问题:

  1. 要求:什么是你正在寻找的统计数据?
  2. 技术:你如何测试,看看你是否达到了你自己设定的目标?

关于(1): 在一个完美的世界里,你将能够分析你的目标客户范围,并了解有多少人会同时使用系统。然后你会明白它们中有多少实际上会触发你网站的响应(并发),并从中明白你需要同时处理多少个请求。

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

这可能是做某种市场研究并提出数字的可能性,但精益创业方法论指出,你通常不知道这些问题的答案,你只能猜测,通常你猜错了。

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

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

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

假设一个无状态(或至少会话粘性)的分布式系统,您会想要针对给定数量的并发请求测试单个“典型”服务器的响应时间和故障。从小到大,尽可能高,因为结果仍然可以接受(例如,对于100个并发请求,响应时间为50ms,响应时间为0则可接受,1000个并发会给你300ms的延迟和5个失败的响应,并且在5000时达到500ms和15个失败的响应,延迟如你认为可接受的那样高,并且尽可能多地接受你的失败)

你可能想从上面改变“典型”,看看不同的基础架构给你的不同结果,今天云服务的优点在于您可以轻松前往EC2并获得任何类型的基础设施,只需很少的投资并测试您的结果,以便您知道需要购买什么(假设您不想保持托管EC2)。您也可以使用EC2来托管JMeter实例(我曾阅读过一篇文章,不记得在哪里,但Google),并且您可以在200 $/test下发布许多并发请求。

0

但我们没有任何要求。

构建性能测试是一项微型规模开发工作。如果没有要求,您将不知道要在您的测试中构建什么内容,从哪个业务流程中包含哪些类型的用户被视为可接受的响应时间。如果您正在测试对现有应用程序的更新,那么您可能拥有现有用户基础的事务数据(以及可能的转换数据)。希望这些信息是历史性的,所以你可以观察到随着时间的推移。计划为您的负载18个月,更好的36个月。

您将需要参与需求的商业利益相关者。这个应用程序的建立是为了满足业务需求,并且根据这种部署的成败,有人会被降级,解雇,晋升或奖励。找到那个人!任何想要获得该奖励或职位的人都可能会很好地了解业务需求和期望。

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

聘请有经验的项目负责人。跟随他们像一只新生的小狗一样。记下丰富的笔记。问很多问题。确保你可以保留他们为未来使用而开发的东西,并理解为什么物品已经开发出来

否则没有要求,你有可能走上“艺术测试”的道路。一项艺术测试是与需求和/或生产数据观察脱离的性能测试。你可以在很多环境中看到这一点,最终只剩下一两个星期的时间进行性能测试,但是这个项目不会出现滑点,也没有时间去解决任何问题。总之,它变成了一个价值低的支票箱。

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