- 博客(6)
- 收藏
- 关注
原创 qperf 网络检查工具
某项目搭集群后,数据子节点向工作节点发送请求时,经常timeout,导致一些分钟内能完成的任务因为timeout重试,干到半个多小时,上游任务因超时宣告失败。这个问题从去年一直到现在,提出过两三次了,都说解决了,但是最后还是会报。为了告诉那群**,确实是网络问题,经师兄介绍,我搞了这个工具测测。安装CentOS Linux系统: yum install qperf安装。使用一个节点运行 qperf 作为服务端,另一个节点则运行 qperf 作为客户端,与服务端建立连接之后打流,获取带宽和延迟等数
2021-04-06 10:32:03
1198
原创 重构代码——从一个例子开始
一个例子##这个例子不好的地方1、输出格式唯一,如果修改需要单独修改输出格式其实这个问题不是问题,在需求没有更改的情况下。但是需求是一步一步提升的,如果每次提升需求都要重写某部分代码,那耗费的精力就比较大了。2、理解很困难= =问题在哪里呢?因为例子没有说具体的计费方式,在代码中写死了计费&折扣方式,如果以后需要修改折扣方式,比较难统一。比如对悲剧的计费要修改,积分也要修改,那代码中就需要修改两处地方;比如要添加正剧这个类别,需要将计费、积分等重新捋一遍。3、没有拆分,所以不清晰,其实就
2020-12-12 18:16:37
144
1
原创 进程和线程一些问题
基本概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一些问题1、为什么线程挂掉进程就一定会挂掉呢?浏览了不少博客和解答,收集到两个重要的信息。首先是一份代码验证:线程崩溃是否会造成进程崩溃?
2020-12-03 15:35:08
319
原创 paxos理论
1.maxVote定义多轮投票是无序的,从多轮投票里找那些超过半数投票的提议,其中,比当前提议编号小的那些提议中,选取最大编号的提议。比如:Bbal=2的提议,没有比他编号更小的提议了,因此MaxVote=null;Bbal=3的提议,比他小的提议编号有2,而且Bbal=2的提议的投票数>一半,因此MaxVote=编号为2的提议;Bbal=5的提议,比他小的提议编号有2、3,但Bbal=3的提议的投票数<一半,因此MaxVote依然是编号为2的提议;Bbal=9的提议,比
2020-07-08 19:46:56
215
1
原创 原子操作
可以保证x先写入内存,对全局可见后,才读取x。lwsync:双向barrier,前面的指令必须在lwsync前执行完,后面的指令不会优于lwsync执行。acquire和release:单向barrier,lwsync代价太大,拦得太多。在这里只需要ready=1在write x后即可,如果有其他指令,完全可以在临界区内;判断ready==1在read x之前即可,其他的操作可以在临界区内。...
2020-07-08 19:45:59
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人