我应该对托管的网站进行负载测试吗?如何进行?

3

在构建网站或应用程序时,最佳实践是使用诸如HP LoadRunner、RadView的WebLOAD等工具进行负载测试,以确保其能够处理生产负载。

如果应用程序是托管在外部的,该怎么办?我可以进行负载测试吗?应该吗?如何做?

3个回答

1

简短回答:是的,你应该进行负载测试。

较长回答:你应该尝试在测试中复制生产环境。它不需要完全相同,但你应该尽可能接近,特别是在软件环境和物理内存方面。 CPU 速度不重要(只要大致相似),但你可能想保持 CPU 数量正确。尽可能使磁盘速度接近生产环境,因为这可能是一个重要的瓶颈。除非你正在执行大量写入(临时或永久),否则磁盘空间并不那么重要。

然后,你可以在进入生产环境之前在测试环境中进行负载测试。这将让你知道你的应用程序能够承受多少负载。你的测试环境越接近生产环境,你的结果就越有意义。


确保您的网站有充足的监控。在开发过程中可以进行负载测试,但是在网站上线后要持续监测性能。 - GolezTrol

0

您是否使用共享主机账户?如果是的话,您需要首先联系您的主机公司,因为您可能会影响其他网站(拒绝服务攻击...)


1
不要在生产环境上进行负载测试。请始终在测试环境中进行所有测试。 - Cameron Skinner

0

这是最佳实践吗?是的,绝对是。

如果应用程序托管在外部,我该怎么办?我可以进行负载测试吗?我应该吗?

是的,您可以进行负载测试,而且您应该这样做。

如何进行负载测试?

在过去几年中,随着廉价计算机租赁(即云供应商,如EC2)的出现,这变得更加容易。寻找支持从云端生成负载的工具。如果您有一个内部系统可供测试,则应从那里开始 - 在这种情况下,您将需要选择一种允许内部和外部测试的测试工具(仅云负载测试服务通常不允许内部测试)。

我要反驳其他答案和传统答案,说您应该尽可能地测试生产系统。在理想的情况下,您会有一个完全相同的测试系统,因此只有在测试系统完全满足性能要求后才进行生产测试 - 此时它基本上是一种形式 - 以确保生产环境中的所有内容都已正确配置(您会惊讶于“相同”的测试/生产系统并不总是相同!)。但在现实世界中,完全复制测试系统并不总是可行的或切实际的。我们定期测试客户的生产站点 - 实际上,很少有客户拥有测试系统,除了在开发和功能测试期间使用的单服务器系统。虽然这不是理想的,但相当可行。
至于一般程序 - 从几个最关键的用户场景(测试用例)开始,然后:
1.构建和验证测试用例 2.运行测试并分析结果 3.优化/调整系统,直到达到性能目标 4.根据您的时间表/预算允许的范围扩大范围并重复1-3。

在模拟测试用例时,尽量不要陷入“完全正确”的细节中,特别是在早期。任何负载测试只是对真实世界使用的近似 - 每天(或每小时)的真实世界使用都与其他任何时间不同。花费时间让一个测试用例“完美无缺”是浪费时间,而这些时间本可以用来测试其他15个测试用例。我们的博客链接上有一些其他文章,可能会帮助您入门。

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接