NEXTJS 放大缓慢的服务器响应

Dam*_*tto 9 amazon-web-services server-side-rendering next.js aws-amplify

我在 AWS Amplify 上安装了 SSR 应用程序 Nextjs 12,但速度太慢。

记录 getServerSideProps() 的结果是:加载页面需要 9 秒,但 getServerSideProps 中的代码只需要不到 0.5 秒。

这是服务器日志:

START RequestId: 94ced4e1-ec32-4409-8039-fdcd9b5f5894 Version: 300
2022-09-13T09:25:32.236Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    1 [09:25:32.236] -
2022-09-13T09:25:32.253Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    2 [09:25:32.253] -
2022-09-13T09:25:32.255Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    3 [09:25:32.255] -
2022-09-13T09:25:32.255Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    4 [09:25:32.255] -
2022-09-13T09:25:32.431Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    5 [09:25:32.431] -
2022-09-13T09:25:32.496Z    94ced4e1-ec32-4409-8039-fdcd9b5f5894    INFO    6 [09:25:32.496] -
END RequestId: 94ced4e1-ec32-4409-8039-fdcd9b5f5894
REPORT RequestId: 94ced4e1-ec32-4409-8039-fdcd9b5f5894  Duration: 9695.59 ms    Billed Duration: 9696 ms    Memory Size: 512 MB Max Memory Used: 206 MB 
Run Code Online (Sandbox Code Playgroud)

这就是代码:

export async function getServerSideProps(context) {
  console.log("1 [" + new Date().toISOString().substring(11, 23) + "] -");

  let req = context.req;
  console.log("2 [" + new Date().toISOString().substring(11, 23) + "] -");

  const { Auth } = withSSRContext({ req });

  console.log("3 [" + new Date().toISOString().substring(11, 23) + "] -");

  try {
    console.log("4 [" + new Date().toISOString().substring(11, 23) + "] -");

    const user = await Auth.currentAuthenticatedUser();
    console.log("5 [" + new Date().toISOString().substring(11, 23) + "] -");

    const dict = await serverSideTranslations(context.locale, ["common", "dashboard", "footer", "hedgefund", "info", "etf", "fs"]);
    console.log("6 [" + new Date().toISOString().substring(11, 23) + "] -");

    return {
      props: {
        exchange: context.params.exchange,
        ticker: context.params.ticker,
        username: user.username,
        attributes: user.attributes,
        ...dict,
      },
    };
  } catch (err) {
    return {
      redirect: {
        permanent: false,
        destination: "/auth/signin",
      },
      props: {},
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

Dam*_*tto 0

[更新] 今天我意识到进入 amplify 后,有人向我提出了“使用 nextjs 12 进行改进和性能”的更新。

我这样做了,它实际上变得更快了......不过它弄乱了我的后端环境......

AWS 使用 NextJS 12 增强性能提升 - 意外的后端环境切换