0

这与用于服务器端图表生成的 Export Server + PhantomJS 的新功能有关。

下面的 HSE 是指 one2Team 的 Highcharts 服务器端导出框架。

根据我们的初步分析,我们发现对于我们测试的饼图和条形图,将 PhantomJS 作为一个单独的进程调用对于 HSE 来说都比较慢。我们发现 PhantomJS 有一个内置的网络服务器功能 - Mongoose - ariya.ofilabs.com/2012/01/glory-of-the-snow.html 这有助于简化进程通信(并且还避免了 infile 中的 I/O ,outfile 方法)。我们可以用它来执行,发现 PhantomJS 在性能上与 HSE 相同或更好。但尚不确定它可以在生产流量中承受多少负载并做出响应。您是否评估过任何此类选项?

4

1 回答 1

1

用于服务器端生成的 Highcharts 导出服务器,可以在两方面进行改进。

  1. 重用 phantomJS 进程,而不是为每次转换启动一个进程。这可以通过将脚本作为网络服务器模块运行来避免。另一种可能性是通过标准输入/标准输出直接写入进程。但据我所知,这还没有完全实施。
  2. 避免为导出服务器和 phantomJS 脚本之间的通信创建临时文件。

在进行这些改进时,我在本地运行时有以下测试结果

当前的版本:

  • 转换 2000 点 > 5 秒超时
  • 12 点图 (llexl) 需要 620ms

通过以上改进:

  • 2000 点需要 660 毫秒
  • 12 点图 (llexl) 需要 250ms
于 2013-03-06T10:15:02.630 回答