我们有一个expressJS API使用mongoDB图集,它将被实时部署到mongoDB上。我们希望在用户开始使用该API之前对其进行压力和负载测试。
问题是是在本地执行负载测试,还是在测试环境中部署到AWS,并对部署的API进行负载测试。
有人能就这个问题提出建议吗?
发布于 2022-03-24 05:12:29
如果您能够启动具有与云一样的规范的本地环境,那么结果应该没有什么差别。
但是,您需要确保本地副本是精确的副本,包括:
如果没有--您仍然可以对与Mongo没有直接关联的方面进行一些测试,例如使用剖面仪工具查找潜在的有问题的代码部分等等。
你唯一不应该碰10英尺高的杆的方法是在缩小的环境中运行负载测试。。
发布于 2022-03-23 22:56:32
使用尽可能接近请求加载和数据的方法构建API的AWS测试版本是最准确的测试方法。
确定您的API在生产中是否会按照预期的方式执行的最确定的方法是模拟生产环境并尽可能紧密地加载。如果您拥有快速的Macbook Pro,这可能会比AWS环境更快地运行对API的单个实例的操作。另一方面,一些AWS产品可能会扩大/缩小您的服务,以满足需求。任何这一切都可能降低局部测试的准确性。
这里有一篇关于设置负载测试的更深入的文章。它将讨论如何度量数据负载、用户和查询,以便最好地模拟负载:https://developers.redhat.com/blog/2015/04/30/how-to-load-test-and-tune-performance-on-your-api#preparation
尽管如此,这是一个新的API。在最初的两周内,有多少用户将增加您的应用程序?每秒有多少次请求?如果您只是想确保您没有留下任何4x嵌套查询循环或其他,本地测试可以得到一些信息。如果您正在向100个朋友和家人推出测试CRUD应用程序,请考虑推迟构建下面的大型测试,以便为100万用户优化性能,直到您有了更多的需求。
https://stackoverflow.com/questions/71591536
复制相似问题