多线程应用超时例外 - > OpenERP集成

时间:2011-08-12 15:34:53

标签: .net c#-4.0 xml-rpc openerp

我正在编写一个.net应用程序,它通过其xml-rpc服务与OpenERP连接。我正在使用烹饪计算库。

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

问题是我一直在为某些线程获取超时异常,我无法弄清楚问题出在哪里,是否需要调整某种配置? - >需要帮助。

这是我的配置:

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

连接配置:

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

在撰写本文时,我正在测试9种产品,具有上述设置,4个线程超时,包括主要

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

的Abdelkrim。

1 个答案:

答案 0 :(得分:0)

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

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

当然,这是我的所有猜测。测量并发布结果。