Aud*_*dun 5 topology oracle-coherence
要缓存的数据:
需要建议生产和测试中的Coherence拓扑(与备份一起分发)
问题
我们不知道将完成多少次读操作,该解决方案将被低响应时间至关重要的客户端(超过数据一致性)使用,并取决于每个用例.通过以固定频率轮询并填充缓存,将从DB更新缓存(因为缓存是数据主服务器,而不是使用缓存的系统).
为Jhere for Coherence调整大小的经验法则是数据是假设1个备份的堆的1/3:缓存数据的1/3,备份的1/3,索引和开销的1/3.
调整大小的最大困难是没有很好的方法来估计索引大小.您必须尝试使用实际数据并进行衡量.
JDK 1.6 JVM的经验法则是从4GB堆开始,因此您需要75个缓存服务器节点.有些人成功拥有更大的堆(16GB),所以值得尝试.对于大堆(例如,16GB),您不需要1/3的开销,并且可以容纳超过1/3的数据.随着堆大于16GB,垃圾收集器调整变得至关重要.
为获得最佳性能,每个节点应该有1个核心.
服务器计算机的数量取决于可管理性,容量(核心和内存)和故障的实际限制.例如,即使您有一台可以处理32个节点的服务器,当机器出现故障时您的集群会发生什么?群集将是机器安全的(备份不在同一台机器上),但是如果要将大量数据移动到新备份,恢复将非常缓慢.另一方面,75台机器很难管理.
我已经看到Coherence对于1K对象放置具有250微秒(不是毫秒)的延迟,包括网络跳和备份.因此,您正在寻找的插入和更新数量应该是可以实现的.使用多个线程插入/更新进行测试,并确保您的测试客户端不是瓶颈.