一、典型IO调用的问题一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socke ...
分类:
其他好文 时间:
2016-12-22 06:48:05
阅读次数:
169
转自: http://blog.csdn.net/zzz_781111/article/details/7534649 Zero Copy 简介 Zero Copy 简介 许多web应用都会向用户提供大量的静态内容,这意味着有很多data从硬盘读出之后,会原封不动的通过socket传输给用户。这种操 ...
分类:
其他好文 时间:
2016-10-02 21:49:00
阅读次数:
256
一、典型IO调用的问题一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socke ...
分类:
其他好文 时间:
2016-09-22 21:14:58
阅读次数:
171
引言 C10K problem提到一种zero-copy的技术,可以提高网络的吞吐量,分布式消息队列kafka中在消费者消费消息的时候根据offset进行zero-copy。linux下的zero-copy通过sendfile API实现。 什么是zero-copy zero-copy在概念上是值操 ...
分类:
其他好文 时间:
2016-07-03 01:45:15
阅读次数:
174
一、典型IO调用的问题一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socke...
分类:
其他好文 时间:
2015-06-30 23:33:16
阅读次数:
173
做Web服务器时通常需要将文件传送出去,其中一种方法是通过定义一个buffer每次读取文件发送给接收端。大多数服务器会选择sendfile的方式,nginx实现时就是采用这种方式。对于并发搞得服务器性能上能得到优势。 对于第一种方式需要进入内核两次,分别是读取磁盘文件和写入socket,对...
分类:
其他好文 时间:
2015-06-12 23:47:33
阅读次数:
148
netty的引用计数文档看http://netty.io/wiki/reference-counted-objects.html为什么会引用引用计数呢,Java中不是有gc线程帮我们回收对象吗?我个人理解如下1:netty为了实现zero copy使用了Direct Buffer,该buffer从N...
分类:
Web程序 时间:
2015-01-25 23:47:56
阅读次数:
246
先给出msg的数据结构:truct msg {TAILQ_ENTRY(msg) c_tqe; TAILQ_ENTRY(msg) s_tqe; TAILQ_ENTRY(msg) m_tqe; uint64_t id; int route_idx; struct msg *peer; struct co...
分类:
其他好文 时间:
2014-12-10 19:44:57
阅读次数:
195
摘要:Chromium图形栈在2014年有多项改进,在图形性能和资源消耗方面做了进一步提升,例如ubercompositor的使用,GPU加速的光栅化,零拷贝(zero-copy)的支持,Android WebView的渲染模型改进等。这个幻灯片尝试列举Chromium在图形栈方面一些变化,以及Chromium渲染流水线的总体框架,并对WebGL性能慢于OpenGL原生应用的原因做了一定的推测。...
分类:
其他好文 时间:
2014-11-07 20:56:16
阅读次数:
363
这段时间在学习一些系统底层的知识,真后悔大学没有好好学习操作系统,导致好多文章看不懂。说到这不得不吐槽一下,像介绍系统层次的一些书籍好多都是中文翻译版,而大部分的中文翻译版大都语句晦涩,确难懂,而且极易易被误导。网上也有一些介绍文章,好多是连作者自己都没搞明白疑惑简单的复制粘贴,真是越看越迷糊。.....
分类:
其他好文 时间:
2014-10-18 18:16:08
阅读次数:
320