Google App Engine,Appspot服务器上的负载测试

问题描述 投票:1回答:2

我是GAE的初学者,仍在评估是否应将其用于学校项目。 我需要说明一个应用程序如何可扩展,我在这里要使用的定义是它是否可以同时服务数千个用户。

现在,负载测试是一种实现方式。 但是,当Google根据负载将应用程序扩展到多个不同的实例时,负载是徒劳的。

因此,因此,我正在考虑模拟数据存储区的读/写访问内存缓存等,以显示应用程序的可扩展性前景。

现在,使用JUnit Test是执行此操作的好方法。 但是它们只能在本地运行。 有没有办法在实际生产环境的服务器上运行它们? 如果可以做到,那么我可以编写这些测试并通过eclipse执行它们,我应该完成!

另一种方法是对硒进行功能测试,以模拟负载和实际用户状况,但这很可能会使我的计算机崩溃,并且也不是并行的。

另一个选择是使用python负载测试脚本,并使用示例json数据将请求引发到服务器url。 但是,我尝试了此操作,但是由于需要使用Google登录,因此无法测试需要真正用户交互的选项。

有什么想法可以继续吗?

google-app-engine google-cloud-datastore
2个回答
1
投票

查看Siege(http://www.joedog.org/siege-home/)或JMeter(http://jmeter.apache.org/)进行应用程序的远程测试。 问题是,虽然在达到要测试的极限之前您已经达到了实际测试机器的极限,所以很多人启动了一些EC2实例并从那里运行负载测试。 Seige非常简单,它只是从文本文件中读取URL列表,并按照您的要求来破坏服务器。 JMeter允许您创建更强大的测试,这些测试可以执行诸如登录服务器以及记录有关应用程序行为的更多细粒度的详细信息。

这是那里最好的两个免费且易于使用的工具(IMHO)。


0
投票

听起来您确实想模拟数据存储区操作。

您可以编写一个HTTP请求处理程序,以加载您的junit测试并调用它们,然后将结果转储到日志中或作为HTTP结果。

如果它们需要很长时间才能运行,则可以在后端实例上运行它们。

遵循Rick的建议,您可能还可以在后端实例上运行测试,该测试使用异步HTTP API向前端实例发出HTTP请求,并根据需要使前端实例执行大量工作模拟。

© www.soinside.com 2019 - 2024. All rights reserved.