我有一个相当复杂的电子表格公式。现在我正在使用 PHPExcel 将电子表格加载到内存中,并将公式输入的单元格值设置为来自前端表单(使用 ajax)的值,获取计算结果并将其发送回客户端。
这是最好的方法吗?还是应该将公式转换为纯php?
如果这是一个好的方法,我担心并发和内存使用。
电子表格不是那么大,少于 1000 个单元格。如何计算服务器上的并发阈值(人们单击前端的计算)和内存使用量?
在平衡性能的同时,我可以采取哪些步骤来优化此算法(例如缓存)?
我有一个相当复杂的电子表格公式。现在我正在使用 PHPExcel 将电子表格加载到内存中,并将公式输入的单元格值设置为来自前端表单(使用 ajax)的值,获取计算结果并将其发送回客户端。
这是最好的方法吗?还是应该将公式转换为纯php?
如果这是一个好的方法,我担心并发和内存使用。
电子表格不是那么大,少于 1000 个单元格。如何计算服务器上的并发阈值(人们单击前端的计算)和内存使用量?
在平衡性能的同时,我可以采取哪些步骤来优化此算法(例如缓存)?
作为对大量并发用户的 ajax 请求,您将遇到问题,因为这些 http 请求没有持久性,因此您需要为每个请求加载电子表格文件。它所保证的是每个请求都使用自己的电子表格副本独立运行,因此单个用户的请求不会影响任何其他用户的请求。
另一个极端是把所有的 Excel 逻辑都用 PHP 重写。您没有说明电子表格公式的复杂性,因此很难判断这将是多么复杂的任务。
第三种选择是只使用 PHPExcel 的计算引擎,直接输入表单值和公式。这消除了每个请求加载电子表格文件的时间和内存开销,因此可能是最简单和最有效的选择。您可以在 PHP 发行版的 /Tests 目录中的 Quadratic2.php 示例文件中找到一个示例。