根据Redis Node在集群中的角色可以将具体的实例分为Master和Slave两类,其中,Master节点负责request的处理,写入、读取、更新数据,定时同步数据到备用Redis Node,数据持久化。Slave节点负责当主用Redis Node故障时,取代主用Redis Node对外提供服务。由于角色不同,在实际业务中,Master实例需要更多的CPU资源与网络资源,因此在Redis集群部署完成后,根据Redis节点在集群中负责的角色,将相应的Redis实例进行NUMA绑核操作。当集群规模不同时,需要调整该绑核策略以发挥不同规模集群的最优性能。
1
|
redis-cli -h ip_server -p port_server |
以下参数请根据实际情况修改:
1
|
cluster nodes
|
1 2 |
local_master_ports=(cat tmp_nodes_info.log |grep "master"|awk '{print $2}'|awk -F@ '{print $1}' | grep ip_server | awk -F: '{print $2}') local_slave_ports=(cat tmp_nodes_info.log |grep "slave"|awk '{print $2}'|awk -F@ '{print $1}'|grep ip_server | awk -F: '{print $2}') |
ip_server:Redis服务器所在的IP地址,请根据实际情况修改。
1 2 |
pid=(ps -ef | grep "redis" | grep port | awk '{print $2}') taskset -cp destCores pid |
以下参数请根据实际情况修改: