如何计算不同机器上的统计数据并再次组合它们?

Posted

技术标签:

【中文标题】如何计算不同机器上的统计数据并再次组合它们?【英文标题】:How to calculate statistics on different machine and combine them again? 【发布时间】:2009-01-14 14:27:13 【问题描述】:

我有两个提供相同功能的后端应用程序,它们位于两台不同的机器上(实际上这是为了进行负载平衡)。 因此他们使用相同的方式处理客户端前端请求。

我想收集有关所有连接的客户端的一些统计信息(即:客户端 GUI 应用程序中最常用的组件是什么或类似的东西) 并每秒将结果发送给所有客户端。

我正在考虑分别计算每个后端组件上的这些统计信息并将两者相加,在这种情况下,我有一组选项,例如在后端组件之间进行某种通信,或者只是在全局数据库中创建小表,然后每个后端更新表然后选择并发送给它的客户 但这可能会降低性能,因为我想每秒发送一次统计信息

我需要帮助

【问题讨论】:

为什么需要源源不断的更新统计数据?客户是否依赖这些信息? 【参考方案1】:

在我投资更复杂的解决方案之前,我需要证明任意(或随机)分配不够好。保留每台机器的统计数据,并根据一些任意分配(当前第二个是奇数,选择机器 1,第二个是偶数,选择 2)首先比较它们的负载因子。如果这不起作用,那么您可以开始寻找更好的算法。

FWIW,这正是我们在校园计算实验室中为 1000 多台机器分配默认打印机的方式。我们在每个实验室的各种打印机上的负载是均匀分布的。

【讨论】:

以上是关于如何计算不同机器上的统计数据并再次组合它们?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不同机器上的两个电子应用之间进行交互

asciiunicodeutfgb等编码详解

如何在一个 SQL Server 查询中组合不同的计数

Unicode与UTF-8

字符编码笔记:ASCII,Unicode和UTF-8

如何组合 2 个 SQL 查询并检索累积计数?