序号 | 检查内容 | 备注 | 检查结果 |
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内存溢出配置 | 针对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系统。