0

我正在编写一个通过其 xml-rpc 服务与 OpenERP 交互的 .net 应用程序。我正在为此使用厨师计算库。

此应用程序的目的是将大量产品加载(或更新)到 OpenERP > 100000,同步执行需要时间,因此我将调用包装成 Parallel.ForEach 调用,

问题是我不断收到某些线程的超时异常,我无法弄清楚问题出在哪里,是某种需要调整的配置吗??-->需要帮助。

这是我的配置:

  • xml-rpc 库超时设置为:16 分钟
  • ParallelOptions --> MaxDegreeOfParallelism 设置为 6
  • 并且最大连接数设置为 36

连接配置:

<system.net>
    <connectionManagement>
        <add address="*" maxconnection="36" />
    </connectionManagement>
</system.net>

在撰写本文时,我正在测试 9 个产品,使用上述设置,4 个线程超时,包括 main

谢谢大家,等待您的回复。

阿卜杜勒克里姆。

4

1 回答 1

0

如果你打算用 6 个线程来加载你的 OpenERP 服务器,那么你很有可能会在数据库事务级别发生冲突。我不确定为什么它会完全超时,我会预料到延迟或死锁异常。

如果您只是想最大化数据加载的吞吐量,请尝试使用单个线程加载 100 个产品、然后是两个线程、三个线程等等来计时。我猜三个线程不会比两个线程快,因为大部分延迟将在数据库中,而不是在任何客户端处理中。两个线程的唯一好处是您不必等待网络通信。

当然,这都是我的猜测。测量它并发布你的结果。

于 2011-08-19T21:48:56.660 回答