在Java中使用POI时,如何增加excel计算引擎的限制?

在Java中使用POI时,如何增加excel计算引擎的限制?,java,performance,concurrency,apache-poi,Java,Performance,Concurrency,Apache Poi,我们有一个基于excel的计算引擎,我们使用POI和Java读取它。到目前为止,油门限制约为30-40个并发用户。我们想把这个增加到100。在当前的设计中,我们将用户输入传递给calc引擎,calc引擎进行一些非常复杂的计算,然后我们从同一工作簿(也称为calc引擎)的给定单元格中读取结果。 增加calc发动机油门限制的可能方式有哪些? 我们是否可以拥有2-3份calc engine并将用户重定向到备用calc工作手册?这会提高性能吗? 我们还可以做些什么来提高性能?我们使用了2份calc en

我们有一个基于excel的计算引擎,我们使用POI和Java读取它。到目前为止,油门限制约为30-40个并发用户。我们想把这个增加到100。在当前的设计中,我们将用户输入传递给calc引擎,calc引擎进行一些非常复杂的计算,然后我们从同一工作簿(也称为calc引擎)的给定单元格中读取结果。 增加calc发动机油门限制的可能方式有哪些? 我们是否可以拥有2-3份calc engine并将用户重定向到备用calc工作手册?这会提高性能吗?
我们还可以做些什么来提高性能?

我们使用了2份calc engine,并将用户重定向到备用calc工作手册-这对我们很有用。

我建议您尝试对应用程序进行PeerPerformance评测。您可能会发现各种有趣的瓶颈。提高性能最明显的方法是将电子表格转换为Java,但如果这不是一个选项,则使用多个实例可能会有所帮助。我假设每个表格都是单线程的,是否有任何原因不能在同一个引擎中多次打开同一个表格,以便使用多个CPU。我假设您的服务器负载很轻,并且您拥有可以购买的最快CPU;我们使用了2份calc engine,并将用户重定向到备用calc工作手册-这对我们来说很有效。