网站远程渲染d3.js服务器端

时间:2013-07-24 09:06:28

标签: javascript d3.js rendering remote-access remote-server

寻找可解决的奇怪问题的解决方案。好的,我们正在使用d3.js来绘制图表和图表。但是,我们的数据集非常小,非常庞大。现在我们所做的大部分工作都是内部的,只是原型设计。但是,我们确实向客户展示了这些图表,并为他们实时绘制图表,经常并迅速改变他们的输入。

在D3中执行此操作看起来很棒,但可能会如预期的那样缓慢。我对这个过程的可能性更感兴趣。转到我们的网站,登录并显示我们在服务器上远程呈现的仪表板实例。我们的服务器集群是一个超级恶魔兽,所以我并不担心它会做任何繁重的工作。它可以比我们最好的PC快100倍左右,所以看起来我们可以设置我们的网站来动态创建仪表板,但只能访问该用户帐户数据。

这有点令人费解,所以让我解释一下。我们有一个数据库,有数百万个数据点。我们有大约10个用户帐户。每个人都可以访问这些数据的不同部分。一个可以访问所有这些,另一个可以访问它。所有这些都不是我们正在寻找解决方案的问题。我们更感兴趣的是我们的服务器能够通过基本上用户远程控制的窗口创建我们站点的多个实例。就像远程桌面一样。我们甚至可以从用户登录表单作为远程渲染的一部分开始。我们的系统完全托管并在​​服务器本身上运行,而我们的页面本质上是服务器上的KVM。但是它需要同时处理多个用户。

我们正在使用Centos 6.4大量的python作为后端的东西,php HTML以及Postgres和SQLite的混合,但我怀疑这一点很重要。只是想掩盖我的基础。

1 个答案:

答案 0 :(得分:2)

我似乎不太可能在一个屏幕上有意义地显示数百万个数据点,而无需以某种方式对它们进行分组和汇总。处理并汇总服务器上的数据并将生成的较小数据集发送到客户端,然后客户端将绘制图形和图表。您现在可能拥有多组数据,但它应该会带来更好的客户端性能。 e.g。

  • {百万分} - >转换服务器 - >条形图到客户的数据
  • {百万分} - >转换服务器 - > XY散点图的数据

你所提议的并不是一个真正的编程问题,并且不会很好地扩展。