我有一个reactJS应用程序,该应用程序允许用户登录金融服务。当我在开发机器上本地执行应用程序时,将用户登录到系统所需的时间约为5秒钟(我将在下面详细说明)。当我从AWS终端节点执行应用程序时,将用户登录到系统所需的时间在15到20秒之间。我正在尝试找出如何研究瓶颈所在。
执行的过程是这样的:
- 该应用接受用户名和密码。
- 该应用程序调用Web API(也托管在AWS上),并向其传递用户ID和密码。
- Web API构建一个mq消息(IBM Websphere),并将其传递给一个mq消息处理程序(也托管在AWS上)。
- mq消息处理程序将mq消息发送到金融机构进行验证。
- mq消息处理程序收到响应,并将响应发送回Web API。
- Web API接收响应并将响应发送到reactJS应用。
- 如果响应有效,那么reactJS应用程序现在将具有与尝试登录的用户相关的特定数据。该应用程序将使用帐户ID调用Web API(该ID由Web API返回给应用程序) )以确定用户所使用的帐户类型。
- Web API将获取帐号,创建另一个mq消息,并将该消息发送到mq消息处理程序。
- mq消息处理程序将请求发送到金融机构进行验证。
- Web API接收响应并将响应发送到reactJS应用。
- 如果响应有效,则我们知道用户所在的帐户类型。应用程序现在将调用Web API并为用户请求所有数据。
- Web API接收用户ID和帐户类型,创建另一个mq消息,并将该消息发送到mq消息处理程序。
- mq消息处理程序将请求发送到金融机构进行验证。
- Web API接收响应并将响应发送到reactJS应用。
- 该主页将与来自金融机构的数据一起显示给用户。
以上所有功能均完全符合预期。唯一的问题是步骤2和步骤5的初始往返所花费的时间。我在reactJS中具有console.log()语句,可以在上面指定的所有点显示日期和时间,因此我知道这几乎花费了19从AWS终端节点执行应用程序后,需要2秒的时间才能执行步骤2-5。
如何确定可能导致此延迟的AWS Beantalk环境上正在运行哪些进程?
谢谢。