摘要:[代码] 阅读全文
posted @ 2009-12-24 22:16 灰鸽子 阅读 (299) 评论 (0) 编辑
摘要:1、并行数据库1.1、并行数据库的体系结构并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的。对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput),在给定的时间段里所能完成的任务数量;(2)响应时间(Response time),单个任务从提交到完成所需要的时间。对于处理大量小事务的系统,通过并行地处理许多事务可以提高它的吞吐量。对于处理大事务的系... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (531) 评论 (0) 编辑
摘要:1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);(2) slave将... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (139) 评论 (0) 编辑
摘要:写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了。但从5.0(2005年10月)开始,MySQL渐渐步入企业级数据库的行列了;复制、集群、分区、分布式事务,这些企业级的特性,使得现在的MySQL,完全可以应用于企业级应用环境(很多互联网公司都用其作为数据库服务器,尽管节约成本是一个因素,但是没有强... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (1112) 评论 (0) 编辑
摘要:写在前面:今天一哥们问我,windows的临界代码是自旋还是等待,当时想了想应该是等待,后来翻了一下《Windows via C/C++》,发现还有点小意思。总结一下先。关键代码段是指一个小代码段,在代码能够执行前,它必须独占对某些共享资源的访问权。这是让若干行代码能够“以原子操作方式”来使用资源的一种方法。所谓原子操作方式,是指该代码知道没有别的线程要访问该资源。当然,系... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (142) 评论 (0) 编辑
摘要:2、协议相关2.1、第3层协议的管理在Linux内核中,有两种不同目的的3层协议:(1) ptype_all管理的协议主要用于分析目的,它接收所有到达第3层协议的数据包。(2) ptype_base管理正常的3层协议,仅接收具有正确协议标志符的数据包,例如,Internet的0x0800。注意sb_buff与net_device中几个字段的区别:sb_buff:unsigned short pr... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (195) 评论 (0) 编辑
摘要:1、接收帧当网络适配器接收到数据帧时,就会触发一个中断,中断处理程序执行一些需要及时处理的任务,然后在下半部进行其它可以延迟的处理。中断处理程序主要进行以下一些操作:(1) 分配sk_buff数据结构,并将接收到的数据帧从网络适配器I/O端口拷贝到sk_buff缓冲区中;(2) 从数据帧中提取出一些信息,并设置sk_buff相应的参数,这些参数将被上层的网络协议使用,例如skb->proto... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (129) 评论 (0) 编辑
摘要:2.1、网络设备的注册与注销注册网络设备发生在下列情形: (1)加载网卡驱动程序 网卡驱动程序如果被编译进内核,则它在启动时被初始化,在运行时被作为模块加载。无论初始化是否发生,所以由驱动程序控制的网卡都被注册。 (2)插入可热拔插网络设备 当用户插入一块热拔插网卡,内核通知其对应的驱动程序以注册设备。(为了简单化,我们假定设备驱动程序已经被加载)。两个主要的情形会导致设备注销:(1)卸载网卡... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (146) 评论 (0) 编辑
摘要:网络设备(network device)是内核对网络适配器(硬件)的抽象与封装,并为各个协议实例提供统一的接口,它是硬件与内核的接口,它有两个特征:(1) 作为基于硬件的网络适配器与基于软件的协议之间的接口;(2) 内核协议栈异步输入输出点。记住:网络设备软件对硬件的抽象网络设备与协议和网络适配器的关系如下:1、 net_device接口(net_device Interface) 网络设备是内核... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (137) 评论 (0) 编辑
摘要:Linux网络核心数据结构是套接字缓存(socket buffer),简称skb。它代表一个要发送或处理的报文,并贯穿于整个协议栈。1、 套接字缓存skb由两部分组成:(1) 报文数据:它保存了实际在网络中传输的数据;(2) 管理数据:供内核处理报文的额外数据,这些数据构成了协议之间交换的控制信息。当应用程序向一个socket传输数据之后,该socket将创建相应的套接字缓存,并将用户数据拷贝到缓... 阅读全文
posted @ 2009-12-24 22:01 灰鸽子 阅读 (190) 评论 (0) 编辑
摘要:写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),... 阅读全文
posted @ 2009-12-24 21:59 灰鸽子 阅读 (148) 评论 (0) 编辑