摘要:
项目中用tc,htb做流控期间,研究了htb(分层令牌桶)算法的实现.觉得这种思想在类似与有消费优先级的生产者消费者场景中也很适用. 阅读全文
摘要:
当我们衡量IO负载时,常常会用到await util这两个指标。那么磁盘分成分区,分区又组成vg后分给 lvm。他们之间await util的统计有什么关系呢? 阅读全文
摘要:
cgroup限制cpu是通过进程调度子系统来限制的,因此要了解cgroup cpu子系统。就要结合进程调度子系统来看。 阅读全文
摘要:
要了解cgroup实现原理,必须先了解下vfs(虚拟文件系统).因为cgroup通过vfs向用户层提供接口,用户层通过挂载,创建目录,读写文件的方式与cgroup交互. 阅读全文
摘要:
一次linux下基于nginx搭建server端与client端基于证书双向认证环境的记录。 阅读全文
摘要:
lua中常常加载一些模块来实现某些功能。如果没有现成的模块以供require,那么我们只好自己写模块了。 阅读全文
摘要:
今天在博问里面看到一个朋友的问题,大致是在网络程序中,打印出来的16进制数,莫名的出现ffffff。例如,某个byte真是值为0xc9,打印出来确是0xffffffc9。原博问连接如下:http://q.cnblogs.com/q/71073/
其实类似的问题不是只在网络程序中才会出现的。 阅读全文
摘要:
红黑树的特性:
1.红黑树是一棵二叉搜索树。
2.树上的每个结点或为红,或为黑。
3.如果一个结点为红色,那么它的左右子结点一定为黑色。
4.从根结点到每个叶子结点路径中经过的黑色结点数是相同的。
5.根结点必须是黑色。
理解这些特性是很重要的。正是因为有这些特性,才保证了红黑树的高效。
红黑树的插入和删除结点动作本质上还是按照二叉搜索树的规则来进行的。不过在基本操作完成后,如果违反了红黑树的某个特性,这时才需要做一些旋转操作进行红黑结点的平衡。所以说,红黑树相当一部分的插入和删除动作就是基本的二叉搜索树的插入和删除。本文只列举那些需要旋转处理的情况。 阅读全文
摘要:
周末看了nginx线程池部分的代码,顺手照抄了一遍,写成了自己的版本。实现上某些地方还是有差异的,不过基本结构全部摘抄。
在这里分享一下。如果你看懂了我的版本,也就证明你看懂了nginx的线程池。 阅读全文
摘要:
前几天写代码因为自己的疏忽导致一遍又一遍的Segmentation fault (core dumped)。该问题是因为strerror(errno)返回的指针指向非法的内存导致程序打印错误时崩溃。
尝试数次无果,为了进度。简单粗暴的换成了perror(str)。今天忙里偷闲,定位到了问题做个记录和分享。 阅读全文