自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

廖先贵的专栏

云存储 云计算

原创 HBase数据文件格式解析 (2012/4/26)

概述 hfile是hbase中存储数据的文件,图1描述了hfile文件格式。hfile文件由6部分组成:data block,meta block(可选),file info,data block index,meta block index,trailer。data block存储了表数据,m...

2018-09-03 11:46:25

阅读数 606

评论数 0

原创 oracle 10g insert 性能测试 (2012/6/13)

1 Test environment Hardware: IBM X3650 with 12GB memory Oracle version: 10g                                         OS: Red Hat Enterprise 5.4   ...

2018-09-03 11:00:21

阅读数 126

评论数 0

转载 高并发设计:如何设计千万连接每秒的系统

1.前言 本文将讨论单机服务器实现C10M(即单机千万并发连接)的可能性及其思路。 截至目前,40gpbs、32-cores、256G RAM的X86服务器在Newegg网站上的报价是几千美元。实际上以这样的硬件配置来看,它完全可以处理1000万个以上的并发连接,如果它们不能,那是因为你选择了...

2018-08-31 17:39:20

阅读数 1640

评论数 0

转载 LVS 负载均衡原理

一 简介   负载均衡集群是 Load Balance 集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端提供服务的一种方式。常用开源负载均衡软件有Nginx、LVS、Haproxy(ngnix和haproxy是七层负载均衡,LVS是四层负载均衡);商业的硬件负...

2018-08-31 14:16:31

阅读数 1007

评论数 0

转载 唯品会Redis大规模生产实践

很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践。目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作。 Outline 一、生产应用场景 二、存储架构演变 三、应用最佳实践 四、运维经验总结 第1、2节:介绍redis ...

2018-08-31 13:56:40

阅读数 196

评论数 0

转载 数据挖掘模型中的IV和WOE详解

1.IV的用途IV的全称是Information Value,中文意思是信息价值,或者信息量。我们在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变...

2018-06-08 13:45:49

阅读数 298

评论数 0

原创 NAT穿越引入的一个漏洞

UE和ePDG通过Notify(NAT_DETECTION_SOURCE_IP)和Notify(NAT_DETECTION_DESTINATION_IP)判断两端是否处于NAT后面。如果任何一端探测探测到自己在NAT后面,本端会把自己的通信端口改为4500。如图1所示,UE 位于NAT后面,所以U...

2018-06-07 09:52:18

阅读数 437

评论数 0

原创 性能调优实践-提升cpu利用率

1 结论 通过本次性能优化,总结了几条经验。 ■频繁的加解锁会提高系统空间的CPU占用率 锁在内核的实现是通过队列来实现的,加锁操作把线程放入等待队列,解锁操作是才能够等待队列获取一个线程来获取锁。所以频繁的加解锁CPU的开销是非常大的。 ■锁和线程的数量是两个矛盾体。 对于固定数量的锁...

2018-06-07 09:44:42

阅读数 4764

评论数 0

原创 DNS实现HA和负载均衡

NAPTR和SRV均可以实现后台服务器的master/slave和load balancing。但是两者实现的粒度不一样,所以两者通常结合起来使用。通过NAPTR可以查找服务(service),通过SRV可以查找某个service的细节比如协议,PORT,server。1 SRV(service ...

2018-06-07 09:32:29

阅读数 1699

评论数 0

原创 数字证书基础-X.509协议

数字证书的两个基本概念基本原则1:公钥加密,私钥解密。私钥签名,公钥验签。基本原则2:根证书应该被无条件信任,根证书通过可靠途径获得。 X.509是PKI的一种实现。1. 证书状态查询提供证书回收状态查询的两种机制:1.OCSP --online certficate status protoco...

2018-06-07 09:25:50

阅读数 1033

评论数 0

原创 Oracle-11g中的并发控制(2012/11/16)

1 事务基础在DB中,可能出现如下3种现象脏读 在事务中,读到了其它事务没有提交的记录 不可重复读 在事务中,即使查询条件相同,下次返回的记录与上次返回记录不一样,不一样体现在记录被修改或记录被删除 幻影读 在事务中,即使查询条件相同,下次返回的记录与上次返回记录不一样,不一样体现在新增加了...

2018-06-06 16:48:31

阅读数 177

评论数 0

原创 HBase性能测试报告(2012/6/1)

1 测试环境1.1 硬件环境●五个HP Z210: 8G内存;4个型号为i7-2600的CPU,4核;千兆网卡;SATA 硬盘,7200转/分钟●CiscoCatalyst 3670交换机1.2 软件环境       OS:Red Hat 64bit;hadoop-1.0.3;HBase0.94....

2018-06-06 16:35:12

阅读数 1106

评论数 0

原创 bit-wise索引原理(2012/7/3)

1 IQ 简介SybaseIQ是一款数据仓储产品。个人认为其核心技术包括:列存储和bit-wise索引。首先了解行存储,把属于一行的所有列的数据存储在连续的空间即为行存储。行存储有两个缺点:由于DBMS中磁盘IO的单位是block (oracle中的block大小2K-32K), 如果查询只关心行...

2018-06-06 16:21:25

阅读数 336

评论数 0

原创 磁盘阵列性能测试(2013/7/12)

1 组网 操作系统:RedhatLinux 6.2 (64bit) 文件系统:ext4 IO分为直接IO和非直接IO。所谓直接IO是指读写文件不利用的文件系统高速缓存,直接从磁盘读取/存储数据。在调用open函数时,支持位O_DIRECT即直接IO。反之,读写文件要经过文件高速缓存的...

2018-06-06 16:13:21

阅读数 136

评论数 0

原创 推荐引擎概述(2015/4/21)

1 分类 1.1 不同的用户推荐是否相同 1.1.1 根据大众行为的推荐引擎 对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品,比如TOPN推荐。 1.1.2 个性化推荐引擎 对不同的用户,根据他们的口味和喜...

2018-06-06 16:08:37

阅读数 78

评论数 0

原创 如何计算时间间隔(2014/2/20)

在进行重要的时间运算的时候,比如自己实现定时器,不能够使用time/gettimeofday,建议使用TSC或jiffies。1 问题1.1现象1应用(ePDG)中有许多的定时器,这些定时器通过一个队列和一个线程进行管理。定时器加入到队列时,用time/gettimeofday获取当前时间(记为t...

2018-06-06 15:27:42

阅读数 1242

评论数 0

原创 Oracle ORA-1628错误的定位分析(2012/1/8)

在Oracle 10.2.0.1.0中,只要设置了undo表空间自动管理,不管有没开启自动扩展,不管undo_retention设置为多少,都会启用 Automatic Tuning of undoretention的新特性。这个新特性中计算RETENTION算法有问题,会导致unexpired ...

2018-06-06 15:16:24

阅读数 737

评论数 0

原创 如何高效的使用switch(2015/1/30)

在TWAG性能测试中,使用perf命令发现ui_generic_encapsulate  函数占用的CPU高达8.3%。这个函数实现非常简单,只是包含了一个比较大的switch语句。本文从研究switch的汇编代码出发,提出了两个降低ui_generic_encapsulate  CPU占用率的建...

2018-06-06 15:02:54

阅读数 535

评论数 0

原创 如何编写高效的代码(2014/6/1)

编写高效的代码有两个条件:选择好的算法和数据结构,编写编译器能够优化以转换成高效可执行的代码。前者是基础和前提,即使后者做的足够好,但是选用了错误的算法和数据结构,优化也不起作用,这个一点要搞清楚。本文的内容的侧重于后者。1 计算机系统架构L1和L2位于CPU芯片上,L3被各个CPU共享。由于成本...

2018-06-06 14:49:40

阅读数 433

评论数 0

原创 网卡性能测试报告(2015/3/31)

测试结论 (1)网卡处理大包的实际能力约为网卡宣称的80%-90%,比如10G网卡支持的最大流量约为8Gb/s-9Gb/s,注意单位是bit。 (2) 1G网卡处理小包的能力约为560K包/秒。  (3) 网卡的带宽参数指的是单向带宽。   1 TCP性能 1.1组网 1.2测试...

2018-06-06 13:51:21

阅读数 2466

评论数 0

原创 BPMN2.0协议解析

1      BPMN的历史背景BPMN(Business Process Model and Notation),业务流程建模和标注。 Notation是BPMN的核心,即使用图形来表达业务流程。另外,BPMN是由OMG组织维护的一个公开的标准,与任何特定商业组织或工具是没有关系,无需为此付费。...

2018-06-05 10:32:38

阅读数 2124

评论数 1

原创 jBPM如何自定义task

jBPM如何自定义task1      背景jBPM中,task表示一段业务逻辑,比如发送邮件、查询数据库等。jBPM支持的task的总类如下图所示。除此之外,jBPM支持用户自定义task,官方的叫法有domain-specific task、custom work items、custom s...

2018-06-05 10:19:23

阅读数 480

评论数 0

原创 optics算法

1 简介        随着数据爆发式增长,分析数据从而提取隐藏在数据中的信息变的越来越重要。聚类分析是数据分析的一个主要方法,聚类(clustering)是将数据对象进行分类的过程,使同一类中的对象之间具有很高的相似度,而不同类中的对象高度相异。与分类不同,聚类不依赖预先定义的类和类标号,属于...

2012-11-25 21:31:26

阅读数 1619

评论数 0

原创 snprintf返回值的误解

1 问题的提出 int iOffset = 0; //发现iOffset值为7,以前一直认为应该是3 iOffset += snprintf(buff,3,”%s”,”123456”); 2 分析 通过分析snprintf帮助手册,发现: snprintf(to, size, “...

2012-10-11 15:52:57

阅读数 1650

评论数 0

原创 深入解析printf/spintf/snprintf中的类型转换

本文通过两个问题出发,跟踪汇编代码,阐明了函数 printf/spintf/snprintf中的类型转换的规律。 1 问题的提出 源码1:#include f1() { double x = -5.5625; printf("%d\n&quo...

2012-09-03 10:55:59

阅读数 998

评论数 0

原创 如何将进程/线程绑定到固定的CPU核

1 概念 什么是CPU Affinity?Affinity是进程的一个属性,这个属性指明了进程调度器能够把这个进程调度到哪些CPU上。 在Linux中,我们可以利用CPU affinity 把一个或多个进程绑定到一个或多个CPU上。CPU Affinity分为2种,soft aff...

2012-08-24 22:11:49

阅读数 1416

评论数 0

原创 Microsoft云存储架构

1 总体介绍 Microsoft云存储服务分为两个部分,SQL Azure和Azure Storage。SQL Azure直接在原有的SQL Server上引入分布式的因素,在满足一定可扩展性的前提下尽可能不牺牲原有的关系型数据库功能。SQL Azure的可扩展性是有限的,单个SQL Azure实...

2011-11-08 15:30:49

阅读数 539

评论数 0

原创 raid原理介绍

1 RAID0 特点: ■ 采用数据划分 ■ 无冗余 ■ 无校验 2 RAID1 ■ 无数据划分 ■ 每个磁盘都一个对应的完全镜像(mirror)磁盘 3 RAID5 ■ 采用数据划分 ■ 奇偶校验,最少3个磁盘 ■ 同时,只能允许一个磁盘出故障 奇偶校...

2011-10-27 16:17:11

阅读数 1103

评论数 0

原创 dynamo和cassandra区别

1 如何处理副本的一致性。 cassandra:采用最后写入获胜。当有多个版本的数据存在时,以时间戳大的值为准。 Dynamo:使用向量时钟(vector lock)。为数据保持一个时钟列表,其中的每个元素是(更新值的节点,序列号),见下图。   图 向量时钟处理多个版本的一致性 2 负载均衡 使...

2011-10-26 15:20:54

阅读数 1729

评论数 0

原创 查找字符串之boyer-moore算法

1 问题的提出 给出字符串P和T,长度分别为n和m。找出P在T中出现的所有位置。 2 原始匹配算法 int Index(char* P,char* T,int pos) { i = pos; j = 0; while( i<=strlen(T) && j<...

2011-10-21 16:47:13

阅读数 917

评论数 0

原创 gossip协议

1.背景 Gossip算法又被称为反熵(Anti-Entropy),熵是物理学上的一个概念,代表杂乱无章,而反熵就是在杂乱无章中寻求一致,这充分说明了Gossip的特点:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其...

2011-10-09 09:50:30

阅读数 5229

评论数 0

原创 Accrual Failure Detector

本文是对论文《The Phi Accrual Failure Detector》的理解以及在cassandra中的实现。 背景 众所周知,故障探测(failure detector)是分布式系统的基础模块。有人建议把故障探测做成一个基本的服务,类似于DNS、NTP(始终同步),其在分布式系统的重要...

2011-10-09 09:35:04

阅读数 3024

评论数 0

提示
确定要删除当前文章?
取消 删除