序号
检查内容
备注
检查结果
1
检查网络多播协议是否开通
Coherence部署首要考虑网络协议是多播协议,其次是单播协议。
检查多播协议命令:multicast-test.sh -ttl 0
2
检查网络带宽是否满足要求
网络带宽生产环境至少要千兆,最佳是万兆。
甚至是InfiniBand交换机
3
硬件环境检查
Coherence支持X8(包括intel 和amd)、Oracle SPARC、IBM Power servers等机器
4、
检查操作系统AIX是否满足要求
1、AIX6.1update level 7+和AIX7.1 update level 1+都支持。
最好保持coherence server部署的设备操作系统版本的一致性。
2、socket buffer sizes操作系统优化:用root用户执行下面的命令进行调整:
no -o rfc1323=1
no -o sb_max=4194304
5
Coherence产品补丁
在进入生产前,对coherence12.1.3的最新补丁包要进行安装。
同时确保应用程序端和加载数据程序端的coherence.jar进行更新。
5
避免使用coherence的多播默认地址和端口配置coherence网络集群
Coherence 12.1.3默认多播地址:224.12.1.3
默认端口:12130
6
JDK版本检查
coherence 12.1.3的AIX环境,建议使用IBM JDK7SR6+版本。如果是X86服务器,也可以选择ORACLE JDK8update20+。
Coherence客户端可以使用jdk6和jdk7
7
JVM内存大小配置
使用jdk7时,JVM内存大小可以配置到20G,配置的jvm内存大小与CPU相关。
内存和CPU之间的合适比例(MEM:CPU),取决于对数据的操作方式,如果只是简单的操作,如get,put, MEM:CPU 为8:1 就够了,如2CPU, 双核的服务器配32G的内存。
如果主要是比较消耗CPU的操作,如并行统计,查询,大量采用entry processors等。需要4:1. 如2CPU, 双核的服务器配16G的内存. 更好的做法可以通过测试,并记录CPU,内存的使用情况来确定配置。
8
JVM内存溢出配置OutOfMemoryError是否配置
针对IBMJVM,应当配置如下:
-Xdump:tool:events=throw,filter=java/lang/OutOfMemoryError,exec="kill -9 %pid"
针对Windows,配置如下:
-Xdump:tool:events=throw,filter=java/lang/OutOfMemoryError,exec="taskkill /F /PID %pid"
9
Coherence集群当中机器数量
一个coherence集群在生产环境至少需要两台机器,而且这两台机器不能使用一个电源,一个集群在生产环境而且至少要配置两个启动 jmx协议的节点。
10
Coherence集群当中客户端local-storage一定要配置成为false
在成员模式下,应用服务器的参数,local-storage一定要配置成false,当然在命令行当中,使用-Dtangosol.coherence.distributed.localstorage=false也可以
11
检查线程数量、
分区数量、
每个jvm的记录数是否满足环境、业务要求
1、线程数量<thread-count>与cpu数量相关,是1core:2thread的比例。
2、分区数量<partition-count>与数据量相关,见部署方案
3、每个cache的记录数限制<high-units>,这与业务相关,需要统计最大的业务量,并要考虑冗余。
12
Coherence容量估算检查
统计整个业务需要缓存的数据量。由此计算需要多少台机器和jvm。
注:针对coherence12.1.3部署到AIX系统。