当前位置: 首页 > news >正文

Dubbo性能调优参数以及原理

Dubbo作为一个服务治理框架,功能相对来说比较完善,性能也挺不错。但很多同学在使用dubbo的时候,只是简单的参考官方说明进行配置和应用,并没有过多的去思考一些关键参数的意义,最终做出来的效果总是差强人意,接下来我们将给大家详细的介绍Dubbo调优的常用参数以及原理。
一、Dubbo调用模型
在这里插入图片描述

二、常用性能调优参数
在这里插入图片描述

三、源码以及原理分析

上面的第二节讲解了每个参数的含义,那么接下来我们一起看看具体的源码实现。

3.1 threads 参数

目标类:FixedThreadPool.java
在这里插入图片描述

目标类:LimitedThreadPool.java
在这里插入图片描述

其中,Constants.DEFAULT_QUEUES=200。thread参数配置的是业务处理线程池的最大(或核心)线程数。

3.2 iothreads 参数

目标类:NettyServer.java
在这里插入图片描述

3.3 queues 参数

分别在 FixedThreadPool.java、LimitedThreadPool.java 和 CachedThreadPool.java 中使用,代码详情见上面的章节。 由代码可见,默认值为 0,表示使用同步阻塞队列;如果 queues 设置为小于 0 的值,则使用容量为Integer.MAX_VALUE 的阻塞链表队列;如果为其他值,则使用指定大小的阻塞链表队列。

3.4 connections 参数

目标类:DubboProtocol.java
在这里插入图片描述

目标类:Dubbolnvoker.java
在这里插入图片描述在这里插入图片描述

以上可见,默认值为0,表示针对每个 Provider,所有客户端共享一个长连接;否则,建立指定数量的长连接。在调用时,如果有多个长连接,则使用轮询方式获得一个长连接。

3.5 actives参数

目标类: ActiveLimitFilter.java
在这里插入图片描述在这里插入图片描述

Consumer 调用时,统计服务和方法维度的调用情况,如果并发数超过设置的最大值,则阻塞当前线程,直到前面有请求处理完成。

3.6 accepts参数

目标类: AbstractServer.java
在这里插入图片描述

当连接数大于最大值时,关闭当前连接。

3.7 executes参数

目标类: ExecuteLimitFilter.java
在这里插入图片描述

Provider处理请求时,统计方法维度的调用情况,如果并发数超过设置的最大值,则阻直接抛出异常。

http://www.lryc.cn/news/17690.html

相关文章:

  • vue3全家桶之vuex和pinia持久化存储基础(二)
  • LAMP架构与搭建论坛
  • 代码随想录 || 回溯算法93 78 90
  • 界面组件Kendo UI for Angular——让网格数据信息显示更全面
  • 【Linux】进程状态|优先级|进程切换|环境变量
  • 合宙Air780E|FTP|内网穿透|命令测试|LuatOS-SOC接口|官方demo|学习(18):FTP命令及应用
  • 大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
  • Spring底层核心原理解析
  • OpenStack手动分布式部署Glance【Queens版】
  • 谈一谈你对View的认识和View的工作流程
  • Redis集群的脑裂问题
  • 互斥信号+任务临界创建+任务锁
  • Elasticsearch7.8.0版本进阶——文档搜索
  • spring security权限问题
  • mysql 8.0.22安装
  • Mysql系列:Mysql5.7编译安装
  • 设备树(配合LED驱动说明)
  • (二十六)大白话如何从底层原理解决生产的Too many connections故障?
  • ASEMI高压MOS管60R380参数,60R380特征,60R380应用
  • Python期末试卷
  • Linux | 网络通信 | http协议介绍 | cookie策略讲解
  • 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计
  • winapi获取和修改camera raw界面元素数据
  • C++问答汇总_2023自用
  • IDA 实战--(2)熟悉工具
  • Deep Unsupervised Learning using Nonequilibrium Thermodynamics论文翻译学习
  • 使用Autoware标定工具包联合标定相机和激光雷达
  • 了解线程安全
  • 【git】git版本控制
  • 模电学习7. 三极管特性曲线与静态工作点