第一步,设置JedisPoolConfig的初次配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//设置最大实例总数
jedisPoolConfig.setMaxTotal(500);
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
jedisPoolConfig.setMaxIdle(100);
jedisPoolConfig.setMinIdle(100);
//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
jedisPoolConfig.setMaxWaitMillis(3 * 1000);
// 在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的;
jedisPoolConfig.setTestOnBorrow(true);
// 在还会给pool时,是否提前进行validate操作
jedisPoolConfig.setTestOnReturn(true);
jedisPoolConfig.setTestWhileIdle(true);
jedisPoolConfig.setMinEvictableIdleTimeMillis(500);
jedisPoolConfig.setSoftMinEvictableIdleTimeMillis(1000);
jedisPoolConfig.setTimeBetweenEvictionRunsMillis(1000);
jedisPoolConfig.setNumTestsPerEvictionRun(100);
return new JedisPool(jedisPoolConfig, HOST, PORT, 5000, null, 0);
第二步,本地一个tomcat容器的web项目应用,新建url链接,内部业务实现:新建Jedis,调用JedisPool,运行此tomcat。
第三步,运用jmeter压测工具,200个线程访问此url。
结果是:单单压测该链接,多次试验,应用qps平均在87q/s,此时redis库实时客户端链接在13个左右,远远没有达到jedisPoolConfig配置的最大连接数MaxTotal 500个及最小空闲数MinIdle 100个。
同向对比,目前线上单个应用qps在400q/s左右,所有redis库连接池可以配在65个左右(虽然这样做不是很正确,但至少可以这样预估),介于线上业务较复杂,所以把redis库连接池最大连接数MaxTotal暂调到150。
JedisPoolConfig的合理预估配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//设置最大实例总数
jedisPoolConfig.setMaxTotal(150);
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
jedisPoolConfig.setMaxIdle(30);
jedisPoolConfig.setMinIdle(10);
//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
jedisPoolConfig.setMaxWaitMillis(3 * 1000);
// 在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的;
jedisPoolConfig.setTestOnBorrow(true);
// 在还会给pool时,是否提前进行validate操作
jedisPoolConfig.setTestOnReturn(true);
jedisPoolConfig.setTestWhileIdle(true);
jedisPoolConfig.setMinEvictableIdleTimeMillis(500);
jedisPoolConfig.setSoftMinEvictableIdleTimeMillis(1000);
jedisPoolConfig.setTimeBetweenEvictionRunsMillis(1000);
jedisPoolConfig.setNumTestsPerEvictionRun(100);
return new JedisPool(jedisPoolConfig, HOST, PORT, 5000, null, 0);
分享到:
相关推荐
这些值需要根据具体应用进行合理设定和调整。 5. **实时执行**:C++程序需要在一个循环中运行,每过一个采样周期,更新预估器的状态和计算新的控制输入,然后将控制信号发送到实际系统。 6. **错误处理与调试**:...
预估校正算法是控制理论中的一个重要组成部分,特别是在处理非线性系统和复杂动态系统时。分数阶系统则是一种扩展了传统整数阶系统概念的数学模型,它引入了分数阶微积分,使得系统能够更好地模拟现实世界中具有记忆...
"史密斯预估补偿控制及MATLAB仿真.pdf" 史密斯预估补偿控制是一种广泛应用于纯滞后系统的控制方法。它通过引入一个预估补偿环节,抵消纯滞后特性所造成的影响,明显地减小超调量和加速调节过程,提高了控制质量。该...
这样的分类有助于辐射防护人员从多方面了解辐射风险,从而做出更为合理的剂量控制决策。 在预估集体剂量时,还应该充分考虑大修开展情况和检修项目等因素。这些因素直接影响辐射暴露的可能性和程度,因此需要在预估...
Smith预估器是一种重要的控制系统结构,可以应用于纯滞后补偿控制。本文介绍一种精确、可用的Smith预估控制器算式,这种算式由PID模块与Smith预估模块组成。PID模块算式与G(s)模块算式由虚拟零阶保持器z变换来拟合,G(s...
智能电网的电能预估及其价值分析对于优化电力分配、提升能源使用效率以及增强电力系统的稳定性和可靠性具有重要意义。以下是对这两个方面的详细探讨: 一、电能预估 电能预估是智能电网的核心功能之一,它基于大量...
根据给定对象特性设计smith预估控制器算法,并利用Matlab软件进行仿真,同时与PID算法控制算法进行比较
项目预估时间表 项目预估时间表 项目预估时间表
非常好的预估,能对你的预估能力代理超级的帮助
通过对这些文件的分析和学习,我们可以了解到Simulink在火电机组控制中的具体应用,以及Smith预估补偿器的建模和配置方法。在实际操作中,工程师会首先建立火电机组的动态模型,然后将Smith预估补偿器集成到控制系统...
这一章主要介绍模型的预估以及选择,介绍了三种预估方法,以及选择模型的标准。
"一阶惯性大时滞系统Smith预估自抗扰控制" 一阶惯性大时滞系统是工业过程控制中的典型难题,为了获得理想的控制效果,需要将先进控制方法与传统的Smith预估器相结合。本文研究了一阶惯性大时滞系统中Smith预估器与...
首先,要根据生产线的生产规模来选择服务器配置,预估未来产能需求,确保服务器的硬件配置能够满足业务发展的预期。 1. **服务器性能评估**:这一步骤至关重要,需要通过对服务器进行压力测试来模拟真实的工作负载...
Smith预估控制算法设计仿真实验 实验目的 在控制算法学习的基础上根据给定对象特性设计smith预估控制器算法并利用Matlab软件进行仿真实验同时与PID控制算法进行比较加深对该控制算法的掌握和理
本文主要探讨了阿里妈妈在展示广告预估校准技术的发展历程,以提高广告系统的准确性、稳定性和公平性。预估技术在广告、搜索和推荐系统中至关重要,尤其是在点击率(PCTR)预测方面。然而,模型输出的预估值并不总是...
通过分析墙后目标回波,首先使用“目标位置曲线相交法”快速缩小被估参数范围,然后通过“图像熵”衡量指标进一步确定具体参数值,整个过程对收发天线配置做了合理安排,提高了参数预估效率和预估精度。 算法的实现...
"子空间预估器"是一种先进的系统辨识方法,常用于复杂动态系统的模型构建。本教程将深入探讨如何利用子空间预估器进行PEMFC电特性的建模。 首先,"子空间辨识"是一种数据驱动的系统识别技术,它通过对系统输入输出...