- 博客(497)
- 资源 (91)
- 收藏
- 关注
原创 DBdoctor,致力于解决数据库的一切性能问题
DBdoctor 是一款内核级数据库性能诊断软件,致力于解决数据库的一切性能问题。是的,我们只聚焦在数据库性能这个极细又专的领域,国内并不缺少数据库的平台级产品,但是把性能这个最痛的点真正解决的并没有,单独做数据库性能相关的就更少之又少了,最终我们选择为行业打通这最艰难的一公里。
2023-12-20 20:11:34 1103
原创 用DBdoctor做数据库巡检:顺滑应对春节流量洪峰
对于DBA来说,巡检是每逢假期及大促节点都必做的,但过去有很多公司在此期间仍然会遇到许多意想不到的问题,甚至需要提前组团去庙里烧香拜佛以祈祷无事发生。但使用我们DBdoctor巡检功能的用户将不再受其困扰,可尽情享受假期!
2024-02-26 17:13:18 762
原创 DBdoctor恭祝大家龙行龘龘,前程朤朤
2023年是DBdoctor正式对外的元年,团队所有成员均是研发或DBA出身,说起eBPF诊断或者内核源码每个人都能滔滔不绝,但是说起对外推广,真不是我们擅长的,所以一直有用户和朋友给我们反馈,你们山东人真实在,总是在默默的增加新功能,所以今天给大家拜年的同时交个作业,汇报下23年DBdoctor的演进。
2024-02-09 19:34:04 853
原创 DBdoctor 荣获IT168 2023年度创新产品奖
技术卓越奖评选活动由国内专业数据库及架构技术社区ITPUB、IT垂直门户IT168联合主办,以技术创新带动产业变革为核心,以知名专家和用户评价为参考依据,寻找驱动数字经济发展的新标杆和新典范,打造科技强国的创新舞台。聚好看数据库性能诊断DBdoctor针对数据库性诊断门槛高、耗时长的问题,提供了快速易用的解决方案,基于海量数据实时分析技术,深入到数据库内核,提供精准的诊断分析和优化建议,实现数据库性能诊断百倍提效,帮助企业更加安全、稳定、高效地使用数据库。公众号:DBdoctor服务。
2024-01-19 10:16:27 418
原创 DTCC2023大会-DBdoctor-基于eBPF观测数据库-附所有PPT下载链接
8月16日—18日,第14届中国数据库技术大会(DTCC-2023)在北京国际会议中心举行。聚好看在大会上首次发布基于eBPF观测数据库性能的产品DBdoctor,受到了业界广泛的关注。近期几位业内同仁过来要大会的PPT,今天特意把ppt和大会所有ppt发出来。
2023-12-06 15:07:05 994 1
原创 数智赋能共筑未来,聚好看DBdoctor亮相中国数据库技术大会
围绕MySQL性能诊断这一公认的数据库运维难点,介绍聚好看DBdoctor基于eBPF技术的创新性根因诊断方法:通过eBPF技术无侵入的探测SQL在内核中的执行过程,采集到关键执行指标,通过聚合得到最终的根因SQL以及详细的锁分析过程。聚好看方案工程师现场通过产品可视化演示为客户展示DBdoctor数据库性能诊断新产品,对数据库做细粒度扫描,基于eBPF透视数据库内核,实现根因诊断,一分钟定位数据库性能问题,实现性能诊断百倍提效,收获来自客户方广泛认可,并进行深度技术交流,展区门庭若市。
2023-08-21 20:15:53 205
原创 海信聚好看将携新品DBdoctor,亮相中国数据库技术大会(DTCC2023)
本分享将围绕MySQL性能诊断这一公认的数据库运维难点,介绍聚好看DBdoctor基于eBPF技术的创新性根因诊断方法:通过eBPF技术无侵入的探测SQL在内核中的执行过程,采集到关键执行指标,通过聚合得到最终的根因SQL以及详细的锁分析过程。聚好看科技持续通过技术创新,提升行业客户数字生产力,研发了云原生与大数据平台JuCloud、私有云数据库平台JuDB、数据库性能诊断平台DBdoctor等产品,服务了包括多个头部央企在内的数十家行业客户,广泛应用于能源、金融、政务、教育、智能制造等场景。
2023-08-14 19:58:36 389
原创 DTCC2023第十四届中国数据库大会分享:MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断
8月16-18日 DTCC2023第十四届中国数据库大会在北京国际会议中心召开,17日下午在。《MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断》敬请期待!欢迎大家提前试用我们发布的产品,
2023-08-03 14:58:08 332
原创 DBdoctor定位MySQL性能案例(一):MySQL表锁阻塞读写
此事件是一位下载我们产品的用户发出来的,纳入到我们第一个案例中。发现DBdoctor数据源中某个实例发现大量性能事件,事件详情为 Waiting for table metadata lock异常,该事件表示部分表在持续一段时间内无法进行读写。根据DBdoctor的的介绍,通过Average Action Session(AAS)曲线图可以查看数据库活跃会话。
2023-07-24 09:35:55 262
原创 MySQL数据库性能诊断产品DBdoctor介绍
DBdoctor我们内部称为数据库性能诊断专家,可以对数据库做细粒度的扫描,帮助您五分钟内找到数据库性能问题,实现性能诊断百倍提效,针对数据库性诊断门槛高、耗时长的问题,DBdoctor 提供了快速易用的解决方案,基于海量数据实时分析技术,深入到数据库内核,提供精准的诊断分析和优化建议。
2023-07-21 21:43:07 671 2
原创 spring test独立ApplicationContext防止多个UT @Mockbean相互影响
背景之前出现过@MockBean的类在跑UT时报错,检查日志发现运行时没mock导致的报错,代码中明明是mock的,单独跑UT没问题,批量跑就出问题了,之前解决过相关问题记在代码注释中了,今天团队同学又出现了,记录下吧。先看下面的两段代码@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes = OpsApplication.class)@WebAppConfigurationpublic class RebuildInsta
2022-04-26 10:40:09 1963
原创 Bytebase试用与对比
简介官网介绍:Bytebase 是为 DBA 和开发人员进行数据库表结构 (schema) 变更而设计的团队协作工具。用户可以通过一个工作流 (pipeline),来推进 schema 在多个环境中的变化。同时用户也可以把 schema 保存在 VCS 中 ,再由新的 schema 文件提交来触发工作流。由前Google和前蚂蚁员工创立的,刚刚首轮融资300万美元,此类软件之前使用过navicat,treesoft,Yearning,阿里内部的idb,阿里云的DMS,还有我在公司云原生数据库平台上自研
2022-04-22 10:51:56 7257
原创 mysql GTID看这一篇就够啦
GTID看这一篇就够啦这里将的gtid是5.7版本的,5.7版本比5.6有一些增强,比如在线开启等GTID(Global Transaction ID)是全局事务ID,当在主库上提交事务或者被从库应用时,可以定位和追踪每一个事务,比如主库新事务都有一个全局ID,即使此事务被同步到任何从库上并应用都会标记着这个事务GTID的组成: server_uuid:transaction_id,平时看到的gtid_executed或者Executed_Gtid_Set实际是个集合,m-n的方式,代表执行了事务m
2021-12-08 17:28:39 4660 1
原创 vitess与mysql的兼容性
支持的mysql 版本5.6-8.0,但是5.6 从2021年2月不更新了,所以建议5.7之后版本事务隔离级别vitess: read committedmysql default: pepeatable readSQL语法https://github.com/vitessio/vitess/blob/main/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txtDDLvtctlclient: vitess有封装,使用vtc
2021-10-09 17:14:29 638
原创 vitess介绍
简介Vitess 是一种用于部署、扩展和管理大型开源数据库实例集群的数据库解决方案。 它目前支持 MySQL、Percona 和 MariaDB。它的架构设计为在公共或私有云架构中与在专用硬件上一样有效地运行。 它结合并扩展了许多重要的 SQL 功能和 NoSQL 数据库的可扩展性。Vitess 可以帮助您解决以下问题: + 通过允许您对 SQL 数据库进行分片来扩展 SQL 数据库,同时将应用程序更改保持在最低限度。 + 从裸机迁移到私有云或公共云。 + 部署和管理大量 SQL 数据库实例。
2021-10-09 17:11:15 2972
原创 Idea添加注释模板
idea添加注释模板file-settings-live Template,添加自己的template group在template group中添加两个template,一个是类的,一个是方法的类模板/** * $class$ * * @author: zhangjikuan * @date: $Date$ $time$ */类模板的edit variablesNameExpressionDefault valueskipclasscla
2021-03-31 14:26:32 223 3
原创 spring无侵入自动生成接口文档
前沿spring cloud多个微服务开发了很多接口,紧急对接前端,需要快速提供一批接口的文档,且不同微服务的接口由多位同事开发且注释非常的少各有不同,现在需要不修改代码不添加注释的情况下能自动的扫描接口并生成文档。本文将详细介绍实现此需求的技术方案。技术方案在通过网络搜索后,最终定位到了JApiDocs开源代码,感谢大神开源,此代码基本实现了我想要的,但是需要对源码做些改动。JApiDocs源码:https://github.com/YeDaxia/JApiDocsJApiDoc
2021-03-31 14:06:01 1060 3
原创 k8s基本命令
kubectl命令kubectl certificate 证书管理kubectl cluster-info 查看k8s集群信息get -h帮助 -n指定namespace -o wide/json/yml 显示更多/json格式信息kubectl get all 查看所有资源信息kubectl get componentstatuses 查看组件信息,可用-s http://localhost:8080 指定master地址kubectl get nodes node相关k
2021-03-19 16:04:23 371
原创 python3 urllib调用spring cloud服务报urllib.error.HTTPError: HTTP Error 400: Bad Request排查
背景使用python3的urllib调用spring cloud服务接口,一直报错 File "E:\github\workspace\dbfree\src\test\common\test_paas_api_base.py", line 49, in test_zjk resp = urllib.request.urlopen(req, timeout=5) File "C:\Users\zhangjikuan\AppData\Local\Programs\Python\Python36
2021-03-19 16:01:43 6119
原创 spring cloud设置GlobalException
背景使用spring cloud搭建微服务时,我们会定义自己的返回对象,设置返回code,msg,data,便于调用方解析,统一格式也便于为大型项目编写client库。正常返回时没问题,那如果接口服务抛exception,或者controller验证不通过时该如何catch住异常返回对应报错并包装为自己的返回对象。解决/** * 自动捕获异常联动返回 * 所有捕获到的异常HTTP返回状态码都要为200,不然很多client会认为http失败而不打印我们自己的报错 * @author: zhang
2021-03-19 14:02:58 345
原创 docker进程管理(1号进程,僵尸进程详解)
前沿大家都知道对linux系统来说1号进程为init进程,是由0号进程(内核进程)通过调用系统init函数创建的第一个用户进程1进程,主要做用户态进程的管理,垃圾回收等动作。对docker来讲1号进程大多数情况下都是服务进程,或者是用户自己开发的服务daemon进程,这也是瘦容器的理论,那服务进程作为1号进程有什么区别呢?本文详细讲述1号进程的区别,如何规避僵尸进程等docker的进程管理docker进程管理的基础是LINUX内核中的PID命名空间技术,在不同PID名空间中,进程ID是独立的;即
2021-03-12 18:45:22 6815 2
原创 python3 pickle.dumps()数据转码保存到数据库或文件
本文可解决问题pickle.dumps()转换的bytes数据如何转换为json的valuepickle.loads() 如何处理bytes字符串json如何添加bytes的valuebytes数据如何保存到数据库的varchar字段中基本知识json: 数据格式:只能转换基本数据类型,无法转换类对象等pickle: 数据格式: 可以相互转换类对象等复杂数据类型python3: bytes和str很大的不通,显示转码相当于过程a=None a是一个对象b=pickle.du
2021-03-05 15:16:53 2083 3
原创 redis基本知识
redis基本知识.mdserverredis-server,Redis服务器的daemon启动程序server启动./redis-server /etc/redis/6379.conf 指定配置文件./redis-server --port 7777 指定port–slaveof 127.0.0.1 8888 指定当前库为备库并从指定的ip:port下拉取数据(主) 都可以在配置文件中设置client./redis-cliredis-cli -h 192.168.2
2021-02-25 14:26:49 104
原创 Spring cloud(六)Eureka配置动态更新,动态扩缩容
前言在上篇介绍了Eureka的原理,关于Eureka集群部署类似于ZK,需要把集群中每个节点信息都配置到配置文件中,在云原生时代,K8S部署Eureka时每个节点要有不同的配置文件,所以需要用statfulset的方式部署。上篇文章介绍过集群部署的三个方案及其优劣,如下所示:1双节点自动配置* 采用脚本方案,启动查数据库,设置defaultZone,但是此种方式挂了重启重新分配ip时集群其他节点不会动态更新2采用配置文件方式,使用服务名来配置集群,每个节点是一个服务,client也配置服务名*
2021-01-03 13:49:57 1985
原创 Spring cloud(五)Eureka原理详细总结
前言Eureka与之前使用的注册中心有些差别,Eureka的重可用性在服务化场景下是亮点,本文详细总结Eureka的特性,尤其是与zk等常用组件的差别,可以帮助更好的理解spring cloud过程。阅读本文需要对注册中心有一定的了解。Eureka调用图Eureka调用图如下所示上图分为两大部分Eureka相关:这是Eureka集群,Eureka分为两部分server和client+ Eureka Server:服务注册server端,用于贮存注册信息,组成集群+ Eureka c
2021-01-03 11:56:51 269
原创 Spring cloud(四) 搭建gateway
简介基于上面几篇的基础,我们已经搭建好了项目,搭建好了注册中心eureka,搭建好了测试微服务,下面来搭建网关,前面几篇参考搭建eureka搭建微服务关于spring cloud api gateway的详细介绍,与zuul的区别,选型等问题详细参考文章网关对比文章spring cloud gateway微服务网关spring cloud gateway搭建gateway1.new-module 创建gateway maven项目2.pom中添加依赖<dependencies
2020-11-20 15:13:53 517
原创 Spring cloud(三)搭建微服务
简介基于上一篇搭建好的eureka注册中心,详细查看 https://blog.csdn.net/zhangjikuan/article/details/109819812本文将搭建微服务注册到注册中心微服务搭建1.nwe-module 创建微服务项目2.pom中添加如下依赖 <dependencies> <!--eureka --> <dependency> <groupId>org
2020-11-20 14:45:00 218
原创 spring cloud(二) 搭建Eureka
简介本文介绍spring cloud注册中心eureka的搭建详细过程,基于上一篇的项目搭建项目中做的添加,没看过上一篇的点击查看https://blog.csdn.net/zhangjikuan/article/details/109819065关于服务注册与发现和eureka原理与介绍不再重复,详细参考其他博主文章 https://zhuanlan.zhihu.com/p/95696180?from_voters_page=true项目搭建1.右击项目 new-Module 选择SDK 1
2020-11-19 19:32:17 141
原创 spring cloud(一)项目搭建
简介本文只介绍spring cloud项目的搭建,后面文章会依次介绍其他微服务的加入。关于spring cloud的介绍不在重复,可以参考这个总结 https://zhuanlan.zhihu.com/p/95696180?from_voters_page=trueidea项目搭建1.idea file-new 创建maven工程2.为工程添加mvn镜像配置,我使用的阿里云mvn仓库,复制以下内容到本地的xxx.xml中,file-settings 找到maven,设置User settin
2020-11-19 17:46:08 179
原创 spring boot基于maven的多环境配置
背景一般项目上线都会有多个环境,如开发环境,预发环境,线上环境,不同环境的配置可能会不一样,下面说下如何做多环境配置。本来是很简单的一件事,但是配置过程中遇到了报错,记录下:配置假设有三个环境 dev pre prod,分为三个配置文件application-dev.yml, application-pre.yml, application-prod.yml 分别把这三个配置文件放到resources中,跟application.yml并列。application.yml中添加如下配置:spr
2020-11-19 17:10:57 180
原创 pgsql使用OpenSSL添加ssl加密
openssl.md服务端查看当前目录 openssl version -d生成签名的keyopenssl req -new -text -out server.req -subj '/C=CN/ST=Zhejiang/L=Hangzhou/O=dbpaas/CN=dbpaas-ip-port' -passout pass:'xxx' -passourt 意思是对输出...
2019-07-12 18:22:19 2112
原创 iptables ipset详解
iptablesiptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]-t 表名 可以省略,指定规则存放在哪个表中,默认为filter表 用于存放相同功能的规则filter表: 负责过滤功能能,nat表: 网络地址转换功能mangle表: 拆解报文 做出修改并重新封装的功能raw表: 关闭nat表上启用的连接追踪机制命令选项-A 在...
2019-05-29 22:34:07 10908
原创 pg基本知识
目录base: 默认表空间global: 共享系统表目录pg_clog: commit log 目录pg_log: 系统日志目录,查询系统错误时可看,alert日志,慢日志,全量sql都在此pg_stat_tmp: 统计信息的存储目录pg_tblsp: 指向各个用户自建表空间实际目录的链接文件pg_twophase: 两阶段提交功能时分布式事务的存储目录pg_xlog: WAL日...
2019-03-19 19:41:24 5089
原创 postgresql简介对比.
前言之前就听说pg功能强大,而且使用排名也比较高,正好要接入pg管控运维,需要快速学习,下面是pg与mysql和Oracle的简单对比,可以在大的层面上有所了解pg与mysql对比MySQLpgSQL语法支持弱(不支持sequence,子查询性能弱)主流夺标查询能力强(Nest loop, hash join, sort merge join), sql语法能力强...
2019-03-08 17:27:04 431
原创 MHA manager与node命令交互
MHA manager与node命令交互manager上执行masterha_managersudo masterha_manager --conf=/u01/zjk/mha4mysql-manager-master/workdir/conf/app1.cnf --skip_check_ssh打印日志Wed Aug 22 20:20:36 2018 - [info]...
2018-09-06 10:45:39 583
原创 MHA安装遇到的问题解决
MHA依赖了很多的包,如果某个包未安装在运行时都会报错,比如我就遇到如下各种的报错,对perl也不熟,蛋疼的很,记下来帮助其他朋友少走弯路需要安装的包yum install -y perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-YAML-Tiny perl-PAR-...
2018-08-17 17:19:35 8286
原创 MHA安装配置
简介 安装大意: MHA分为node和managernode安装在每个数据库实例机器上,不启动进程,只是包含如下几个脚本,failover时manager远程SSH调用的save_binary_logs 保存和复制master的二进制日志apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于...
2018-08-17 17:13:51 1403 2
原创 drools: cvc-elt.1: 找不到元素 'kmodule' 的声明
drools导入工程,采用kie API,步骤参考:http://blog.csdn.net/wo541075754/article/details/74651552根据上面博客中kmodule.xml如下内容<?xml version="1.0" encoding="UTF-8"?> <kmodule xmlns="http://www.drools.org/xsd...
2018-02-26 10:20:53 996
原创 drools报错java.lang.RuntimeException: wrong class format解决
使用drools时,在规则文件中包含import jar包中的类时,如下: import java.util.Map; import com.alibaba.fastjson.JSONObject;会报错 java.lang.RuntimeException: wrong class format解决: 可能是org.eclipse.jdt的jar包不存在或版本过低所致...
2018-02-23 20:53:41 1851
原创 linux c/c++按规则获取网卡ip
linux c/c++按规则获取网卡ip 输出项目到云或者输出给外部客户,会遇到服务器多网卡多ip的情形,如果有多个应用都需要这个主机ip,而且多应用需要获取相同的ip,此时可以约定一种规则来获取相同的ip,比如: 获得所有网卡名,然后对网卡名按从小到大排序,查找最小的网卡名对应非local的ip,这样每个应用都使用这种规则,就会获取到相同的ip了,而且这种思路不受多种语言所限制。详
2018-02-01 12:31:45 3005
DTCC2023-张纪宽-基于eBPF观测数据库内核
2023-12-06
api-request-node.html.ftl
2021-03-31
api-common-catalog.html.ftl
2021-03-31
api-doc.md.ftl
2021-03-31
activate-power-mode
2015-12-03
STM32F107 USB otg U盘读写源码
2015-10-24
sqlite3.exe
2015-04-28
Android OpenGL ES 绘制三维/空间坐标系透明
2014-03-04
android 绘制折线图(AChartEngine)Linechart 动态更新横轴为获取的当前时间
2014-03-04
STM32F103 UC/OS-II关于各种任务间通信的系列C程序(彩屏显示)
2013-04-30
STM32F103 UC/OS-II关于任务操作的系列C程序(彩屏显示)
2013-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人