gpt4 book ai didi

google-app-engine - Avg Cpu , URI 使用了大量的 cpu

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:48 26 4
gpt4 key购买 nike

您好,我使用的 servlet 包含一个带有两个对象的持久性管理器对象,当我在仪表板中使用它时,我收到以下消息:

“此 URI 使用大量 CPU,可能很快就会超过其配额。”

此 uri 的平均 Cpu 为 2300,为什么需要这么长时间?

当我一开始查看日志时,我的 CPU 数量很高,例如 2000,而在我少于 200 之后,为什么?

10 分钟后,当我回来时,我的 CPU 数量又变高了,为什么?

有没有可能缩短这个时间?

编辑:代码

public void doGet(HttpServletRequest req, HttpServletResponse resp) 抛出 IOException {

    String param1 = req.getParameter("param1");
String param2 = req.getParameter("param2");

PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Myclass.class.getName()+
"where parameter1 == param1 && parameter2 == param2 "+
"parameters String param1, String param2";

List<Myclass> result = (List<Myclass>) pm.newQuery(query).execute(param1, param2);

if(result.isEmpty()) {
pm.close();
resp.sendRedirect("/welcome.jsp");
}
else {
pm.close();
resp.sendRedirect("/question.jsp");
}
}

最佳答案

那是因为 cold starts谷歌应用引擎。

由于 google app engine 的工作方式,如果一段时间内没有看到请求,它会终止您的应用程序实例。因此,休息后的第一个请求需要更长的时间,而进一步的请求相对较快。

有很多线程讨论这个问题和可能的解决方案,其中大部分描述了两种解决方案 -

  1. 为初创公司优化代码
  2. [不推荐] 创建 cron 或任何其他类型的定期 HTTP 请求以保持实例正常运行。这是一种非常糟糕的方法,我不推荐这种方法,因为它会对云工作方式的整体目的和理念产生不利影响。

这里有一些引用资料更多地讨论了这个问题:

  1. > App instance recycling and response times - is there solution?
  2. > Application instances seem to be too aggressively recycled
  3. > Uneven response time between connection to server to first byte sent
  4. > Google App Engine application instance recycling and response times…

关于google-app-engine - Avg Cpu , URI 使用了大量的 cpu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com