摘要:
linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
int poll(struct pollfd *fds,... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(181)
评论(0)
推荐(0)
摘要:
关于listen的backup参数
listen的第二个参数,在网上有各种版本的解释,有人说是三次握手成功等待被accept的请求队列长度,有人说是尚未成功建立连接的队列长度,有人说是二者队列长度之和。 #man listen # man tcp 从man手册可以发现:从linux 2.2开始,backlog是指已经建立连接等待被accept的队列长度,而未成功建立连接的队列长度由tc... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(207)
评论(0)
推荐(0)
摘要:
关于hash函数 hash函数主要用于将“大范围”映射到“小范围”,如MD5将任意长度的数据计算出128bit的签名值,RSHash等函数将任意长度的数据转换成32bit的无符号整型,好的hash函数拥有高性能以及低hash冲突。 hash函数主要通过加减乘除及移位等操作来计算最终结果,hash函数的分类参考: http://nicoleamanda.blog.163.com/blog/... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(283)
评论(0)
推荐(0)
摘要:
有m个server、n个client,client发出的请求被随机发送到某一个server上,client的请求为串行模式,即每个请求被处理完后才能发送下一个请求,server处理每个请求的时间为T,server每次只能处理一个请求,其他的请求将排队等待。求当client发送请求无限多时,每个请求的平均服务时间? 请求次数无限多时,可以认为请求被均匀分不到各个server上: (1... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(144)
评论(0)
推荐(0)
摘要:
趁着京东商城做活动,买了几本一直想看的书,其中包括《复制互联网-2011年全球最值得模仿的100个网站》,虽然网易科技有“每日一站”专栏,但我还是想买本书收藏一下。 本书主要从“web 2.0网站”,“搜索引擎”,“电子商务”,“移动互联网”,“多媒体服务”,“网络营销”,“网络工具及其他”等七个领域进行分类介绍,本文是我阅读该书的一点总结。 web 2.0网站 该类目下主要介绍一些... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(177)
评论(0)
推荐(0)
摘要:
写了一个测试磁盘寻道(+旋转)时间的程序,方法如下:创建一个大文件(如果太小,文件所有内容都在一个磁道上),使O_DIRECT打开文件,随机选择一个位置(4k的倍数),读取4K(文件系统块)大小的数据。测试程序分别执行1、10、100、1000、10000次随机读文件操作,结果发现在1000次以内,消耗的时间总是1-3ms,超过10000才会略有大的增长,但也在1s范围内。发现DIRECTIO根本没有生效,百思不得其解。仔细阅读了man手册上关于O_DIRECT的说明:Try to minimize cache effects of the I/O to and from this file. 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(588)
评论(0)
推荐(0)
摘要:
step1 安装xampp(包含apache、mysql、php、perl等组件,并提供统一的管理) step2 打开xampp control panel,启动apache服务(如果不能成功启动,查看http:80端口以及https:443端口是否被占用,如果被占用则关闭对应的服务)。 step3 ... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(254)
评论(0)
推荐(0)
摘要:
典型情况:三个副本构成一个group 1.强一致性:所有的副本更新成功才返回。 如上图C表示Client,【P、S1、S2】构成一个同步组,P表示Primary node,S1,S2是两个secondary node,强同步模型的工作流程为C向P写数据,P向S1,S2转发,只有3个都写成功,才向C返回成功,否则写失败。这种模型对于append操作很容易实现,如果副本没有... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(915)
评论(0)
推荐(0)
摘要:
TCBDB是tokyo cabinet的一部分,实现了基于B+树的key/value存储,本文简单介绍TCBDB中分支及叶子节点的存储结构。 分支节点(非叶子节点)的结构 typedef struct { // type of structure
for a page index uint64_t pid;
// ID number of the referring page ... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(443)
评论(0)
推荐(0)
摘要:
网络服务器的实现不外乎两种情况,一是为某个业务单端开发服务器,二是实现通用网络服务器框架,前者的设计可能很大程度的受业务需求的影响,而后者则要保证简单易用,稳定服务,最好还有不错的性能。 服务器框架的优势在于让使用者快速的进行开发,只需要做很少的事情即可完成服务器的开发。在整个服务模型中,只有对请求任务的处理是预先不可知的,其他的逻辑基本上是固定的,故在实现框架时,将实际的处理部分以回调的形... 阅读全文
posted @ 2013-04-19 14:12
ydzhang
阅读(167)
评论(0)
推荐(0)
浙公网安备 33010602011771号