我正在尝试寻找最佳方法来衡量我的Web应用程序何时应在亚马逊AWS中扩展。
该应用包含微服务后端(弹簧启动) + 角度前端,对于这两部分,我应该如何测试EC2实例的限制?
如何测量这些值的任何方向都会有所帮助。
该应用将受到“非常严重的打击”(每天有25万访问者)
答案 0 :(得分:1)
对此没有直接答案。您需要进行自己的测试。
您可以使用JMeter作为Web应用程序测试框架的示例。
对于后端数据库,有类似YCSB的工具,但是您的数据库可能具有基准测试。
CPU,内核,内存等因素都有影响,但这在很大程度上取决于代码的编写方式。例如,基于JVM的进程将比用Golang编写的进程占用更多的资源(并且整体速度较慢,但这是一个单独的观点)。
AWS Cloudwatch可以监视许多系统级属性,但是监视Java堆也很重要
如果您真的想测试可伸缩性,请在EKS或Fargate或什至作为无服务器Lambda而不是静态EC2框运行您的应用程序。
您肯定希望在两个可用区域中至少有两个实例具有容错能力,并且应该在应用程序前面放置一个负载平衡器以控制流量