在XX项目中使用了TongRDS2.2.1.6_P2在项目中需要调优的项如下表所示。调优参数表参数名字默认值优化值参数作用所在配置文件MaxvalueLength10m512m系统内允许Variable类型字段的最大数据长度该配置只针对Variable类型有效合法设置举例2048、10k、1m缺省值为10m最大值为1.6g该配置支持动态更新cfg.xmlTotalvariableAllowedsize不限制按照业务需求配置如配置38G则used_memory不能超过38G最大堆内存xmx参数是此参数的1.5到2倍系统内允许Variable类型字段的总的最大数据长度该配置只针对Variable类型有效。不支持动态更新合法设置举例20480、1024k、100m、1g缺省为不限制cfg.xmlEvictoldvariableDatafalsefalse当动态内存占用超过TotalVariableAllowedSize时是否主动淘汰较旧的数据不支持动态更新缺省或未配置为不主动淘汰旧数据禁止新数据写入配置为true时主动淘汰旧数据cfg.xmlEvictDataInterval6060主动淘汰旧数据的检测的时间间隔动态内存占用统计和主动淘汰数据由后台线程定时执行该配置决定执行的时间间隔单位秒。缺省为60秒最小有效间隔为2秒cfg.xmlDataDumpProcessors02并发保存文件的线程数缺省为0当前可用CPU数的一半-1当前可用CPU数 - 1。调大此参数会加快存盘和启动读盘的速度但会占用更多的内存cfg.xmlThreads816业务处理线程池大小设为“0”则不需要业务处理线程池, 缺省是8cfg.xmlBackLog2561024客户端申请Socket连接时系统开辟的全连接池大小java缺省为256最终生效值为该配置与系统内核参数net.core.somaxconn中的最小值因此增大该值有可能同时需要调整内核参数命令 ‘ss -lnp | grep 6379’ netstat -lnpt | grep 6379 可以查看6379监听端口的当前值cfg.xmlListNumbers12并行同步队列的数量,增加数量可以提高同步的性能cfg.xmlListLength1000050000同步队列单个队列的长度,配置少了在同步出现异常时更容易丢数据,配置太长了浪费内存对通常的系统,建议配置在1000到10000000之间就可以cfg.xml-Xmx30G按照业务需求配置比TotalvariableAllowe大1.5到2倍xmx和xms大小相同Jvm的最大堆内存external.vmoptions-Xms1G按照业务需求配置比TotalvariableAllowe大1.5到2倍xmx和xms大小相同Jvm的最小堆内存external.vmoptionscfg.xml配置示例?xml version1.0 encodingutf-8?servercommonRuntimeModeldebug/RuntimeModelDataDump10/DataDumpServiceyhcluster/ServiceMaxvalueLength512m/MaxvalueLengthMaxItemsIncompress256/MaxItemsIncompress!-- 系统内允许Variable类型字段的总的最大数据长度该配置只针对Variable类型有效。不支持动态更新 --!-- 合法设置举例20480、1024k、100m、1g缺省为不限制 --TotalvariableAllowedsize38g/TotalvariableAllowedsize!-- 当动态内存占用超过TotalVariableAllowedSize时是否主动淘汰较旧的数据不支持动态更新 --!-- 缺省或未配置为不主动淘汰旧数据禁止新数据写入配置为true时主动淘汰旧数据 --EvictoldvariableDatafalse/EvictoldvariableData!-- 主动淘汰旧数据的检测的时间间隔动态内存占用统计和主动淘汰数据由后台线程定时执行 --!-- 该配置决定执行的时间间隔单位秒。缺省为60秒最小有效间隔为2秒 --EvictDataInterval60/EvictDataIntervalSlowoperationThreshold150/SlowoperationThreshold!--JmxUr11ocalhost:29094/JmxUrl--Instanceyhcluster-yhcluster-80-6388/Instance!-- 并发保存文件的线程数缺省为0当前可用CPU数的一半-1当前可用CPU数 - 1。 --!-- 调大此参数会加快存盘和启动读盘的速度但会占用更多的内存 --DataDumpProcessors2/DataDumpProcessors/commonLogLevelwarn/LevelBackDates7/BackDates/LogListenPort6209/Port!-- 业务处理线程池大小设为“0”则不需要业务处理线程池 --!-- 缺省是8 --Threads16/Threads!-- 客户端申请Socket连接时系统开辟的全连接池大小java缺省为256 --!-- 最终生效值为该配置与系统内核参数net.core.somaxconn中的最小值因此增大该值有可能同时需要调整内核参数 --!-- 命令 ‘ss -lnp | grep 6379’ netstat -lnpt | grep 6379 可以查看6379监听端口的当前值 --BackLog1024/BackLogMaxconnections10000/Maxconnectionssecure2/securePassword46e859de16107503bd627c7109e0b2fc/PasswordRedisPort6388/RedisPort/ListenTables1/TablesTableBlocks16/BlocksROWS0/ROWSKeybytes2,0/KeyValuevariable,0/ValueIndexes0/IndexesSyncListNumbers2/ListNumbersListLength50000/ListLength/Sync/Table/server建议的客户端版本根据现场使用的客户端有Jedis和redission推荐Jedis客户端 3.8.0 redission客户端 3.39.0