gpt4 book ai didi

java - 如何加快频繁写作

转载 作者:行者123 更新时间:2023-12-04 05:14:09 24 4
gpt4 key购买 nike

我们创建了一个 Java 代理,它会检查我们的应用程序套件,以查看例如父/子结构是否仍然正确。因此,它需要检查多个应用程序中的 8000 多个文档。

检查本身进行得非常快。我们使用导航器从 View 中检索数据,并且只从这些条目中读取数据。问题出在我们的日志记录机制中。每当我们报告级别为 SEVERE(又名:一个真正的大问题)的日志条目时,后端文档都会直接更新。这是因为我们不想丢失有关这些问题的任何信息。

在我们的测试运行中,我们看到一切都运行得很顺利,但是一旦我们“创建”了很多严重的问题,性能就会因为所有的写入而急剧下降。我想看看是否有任何笔记开发者面临同样的挑战。我们如何在不丢失任何数据的情况下加快写入速度?

-- 在 simon 发表评论后添加了更多信息 --

它是一个计划代理,每晚运行以检查不一致情况。目标当然是找到不一致之处并解决原因,最终完全不报告任何不一致之处。

最佳答案

Its a scheduled agent which runs every night to check for inconsistencies.



好的。所以有很多因素需要考虑。
  • 有没有嵌入式的jars?当代理嵌入了 jar 时,服务器必须将它们从代理分离到磁盘,然后才能运行代码。每次代理执行时都会这样做。这可能会影响性能。如果您的代理多次生成,请移除嵌入的 jar 并将它们放入服务器上的 lib\ext 文件夹中(需要重新启动服务器)。
  • 你提到它在晚上运行。默认情况下,一般的内务处理进程在晚上运行。检查已安排的服务器任务的注释 ini 并评估它们在运行时对服务器/代理的影响。例如:
    ServerTasksAt1=Catalog,Design
    ServerTasksAt2=Updall
    ServerTasksAt5=Statlog

    在这种情况下,如果在 2-5 之间运行,则 UPDALL 可能会对其产生影响。还要检查计划执行的程序文档。
  • 你用什么方式写作?如果您为每个事件创建一个文档并且文档内容不多,那么写入时间应该是合理的。可能会影响性能的是以下之一。
  • 如果您对这些写入进行多线程处理。
  • 拉出一个日志文件,添加一行,保存然后重复。

  • 最后一件事要考虑。如果您收到 3000 个错误,那么一定有一个点,其中 X 数量的错误意味着没有必要继续,而是通过 SNMP/电子邮件/等提醒管理员?也可能值得对其进行编码。

    除此之外,您可能应该发布一些与写入相关的示例代码。

    关于java - 如何加快频繁写作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498052/

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