gpt4 book ai didi

java - 谷歌应用程序引擎,导入的jar运行速度非常慢

转载 作者:行者123 更新时间:2023-12-01 11:57:05 27 4
gpt4 key购买 nike

我已将代码从 Eclipse 项目导出到 jar 文件。当我在另一个标准 java 项目中访问此 jar 文件时,需要不到 5 分钟才能完成。在 Google App Engine 上的 servlet 上,需要近一个小时才能完成。这只是使用 Google App Engine 的一个功能,还是可能存在其他问题?我使用带有 cron 作业的 servlet 来更新数据存储,但写入数据存储所需的时间仅占总运行时间的一小部分。

更新

该代码使用朴素贝叶斯分类器为大量新闻文章标记公司名称以及与文章的相关性。这就是程序所需时间长度的原因,但并不是它在 App Engine 上需要如此多时间的原因。

最佳答案

在看不到程序的情况下很难对其进行优化,但这里有一些提示。

如果不受限制,App Engine 上的代码执行速度与任何地方一样快。您应该研究数据访问时间(阅读文章的速度)、数据写入时间和/或内存限制。像您所描述的应用程序往往需要大量内存。

  1. 您可以在 App Engine 控制台上检查内存统计信息。如果遇到限制,您可以使用更大的实例,或者将处理负载分成更小的 block 。

  2. 如果将负载拆分为单独的任务并使用任务队列,则可以利用在单个实例上运行的多个线程。当涉及读/写数据时,这通常会带来巨大的性能提升。

  3. 确保在读取/写入数据时使用正确的 block 大小。例如,数据存储中的查询的默认 block 大小为 10,而您可以将其增加到 1,000。相同的逻辑适用于数据存储区放置。当您读/写数千个实体时,它会导致性能上的巨大差异。这也适用于其他存储选项。

作为比较的数据点,我能够从互联网获取(比从存储慢得多)并在常规 App Engine 上每小时处理数百万个文档(提取、清理、索引等)实例。

关于java - 谷歌应用程序引擎,导入的jar运行速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369549/

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