最新 | 最热门 | 最高评价

+0  深入浅出Flashcache(一)

Tag: 技术 | bio | block device | flashcache | fusionio | linux | SSD
NinGoo 发于 2011年12月03日 15:11 | 点击: 2284 | 展开摘要
Cache is king.

在计算机系统中,cache的魔爪无处不在。CPU中有L1,L2,甚至L3 cache;Linux有pagecache,MySQL有buffer cache/query cache;IO系统中Raid卡/磁盘也有cache;在大型互联网系统中,数据库前面一般也都有一层memcache。Cache是容量与性能之前取平衡的结果,以更低的成本,获得更高的收益,是系统设计时应该遵循的原则。

传统机械硬盘几十年来,容量不断翻倍的增长,相比较而言,性能的增

查看全文: http://www.udpwork.com/item/6454.html

+0  NFS-RPC框架优化过程(从37k到168k)

Tag: nio tuning | rpc benchmark | Grizzly | RPC | Java | rpc tuning | java | netty | mina
bluedavy 发于 2011年09月13日 10:33 | 点击: 5428 | 展开摘要
NFS-RPC框架从编写之初,到现在为止(应该还会有些提升,不过估计不大),每秒支撑的请求数上升了好几倍,测试结果的演变为:

37k –> 56k –> 65k –> 88k –> 93k –> 143k –> 148k –> 153k –> 160k –> 163k –> 168k

以上测试结果为在100并发、100 request byte、100

查看全文: http://www.udpwork.com/item/5787.html

+0  Let’s beat the rpc benchmark record,current is 168k!

Tag: Netty Benchmark | Grizzly | Mina Benchmark | Java Network Framework | nfs-rpc | RPC | Scala | NIO | Java | AIO
bluedavy 发于 2011年08月27日 14:36 | 点击: 2721 | 展开摘要
Many applications need rpc to realize their business,in java world,we can choose rmi/webserivce to do rpc,but they’re not fast enough for most cases,so many of us choose some difference high performance network framework to realize rp

查看全文: http://www.udpwork.com/item/5709.html

+0  Java NIO 那些躲在角落的细节

Tag: Java NIO | channel | close | interrupt | java | nio | signal | wakeup
fp1203 发于 2011年08月18日 08:24 | 点击: 2348 | 展开摘要
java NIO的实现中,有不少细节点非常有学习意义的,就好比下面的三个点:

1) Selector的 wakeup原理是什么?是如何实现的?

2) Channel的close会做哪些事?

3) 会什么代码中经常出现begin()和end()这一对儿?

本文虽然针对这几个点做了点分析,不能算是非常深刻,要想达到通透的地步,看来还得经过实战的洗练。

1、 wakeup()

准确来说,应该是Selector的wakeup(),即Selector的唤醒,为什么要有这个唤

查看全文: http://www.udpwork.com/item/5659.html

+0  Channel & FileDescriptor

Tag: Java NIO
fp1203 发于 2011年08月09日 19:49 | 点击: 2696 | 展开摘要
之前在分析Java NIO的实现时,一直有一个点没有分析清楚,那就是Channel与FD(文件描述符)之间的关系,这里讨论的通道当然是指可选择的Channel。

Selector是服务于Channel的,Selector在linux下的底层实现其实就是系统调用poll或epoll,而poll及epoll是服务于FD的,这两个部分都有分析过,现在就剩Channel与FD是如何对应起来的。

猜想,应该是在通道创建的时候会生成这么个FD与之对应吧,现在我们查看一下ServerS

查看全文: http://www.udpwork.com/item/5618.html

+1  Java NIO 选择器(Selector) 知识预备 (linux epoll)

Tag: Java NIO | epoll | nio | selector
fp1203 发于 2011年07月27日 10:35 | 点击: 3517 | 展开摘要
最近花些功夫在研究Java NIO的JDK源码,发现Selector的实现,除了在唤醒机制上做了手脚,主要依赖操作系统的实现,为了无负担的弄懂Selector,有必要研究一下操作系统是如何实现选择的。本文主要参考linux-2.6.10内核epoll的实现(poll见上一篇)。

本文可能会表现得很肤浅,高手们请直接略过,另外,本文所出现的“政府”字样,乃比喻性质的,或者就认为它是“清政府”好了,请相关人员不要曲解。

上回冒充大侠poll府上走了一遭,感觉还不过瘾,于是计划

查看全文: http://www.udpwork.com/item/5541.html

+1  Java NIO 选择器(Selector)与通道(Channel)_5(选择器的选择过程)

Tag: Java NIO
fp1203 发于 2011年07月18日 10:41 | 点击: 2517 | 展开摘要
前面已经分析了选择器的创建和处理注册和取消注册的过程,这里主要讲解选择器的选择过程。

本文同样以linux内核为基础,讲解PollSelectorImpl和EPollSelectorImpl的选择过程:

其实在前面一篇已经把poll和epoll的准备工作介绍得七七八八了,既然PollSelectorImpl

和EPollSelectorImpl最终是依赖内核的实现,似乎只需要直接调用就好,那不是没多少内容了? 也不尽然,还记得上一篇介

绍SelectionKey的时候

查看全文: http://www.udpwork.com/item/5542.html

+0  Java NIO 选择器(Selector)与通道(Channel)_4(选择器处理反注册的过程)

Tag: Java NIO | nio | selector
fp1203 发于 2011年07月13日 11:36 | 点击: 3150 | 展开摘要
反注册由SelectionKey的cancel开始:

Selector一直都很被动,它的创建需要工厂SelectorProvider来完成,处理register也是因为通道在自行注册时触发,而处理cancel与register非常类似,不过它是由SelectionKey的cancel来触发,唯一值得欣慰的是它能够有自己的select过程,这个过程的分析后续再给出,我们先看看AbstractSelectionKey中的cancel实现:

java.nio.channels.

查看全文: http://www.udpwork.com/item/5543.html

+0  Java NIO 选择器(Selector) 知识预备 (linux poll)

Tag: Java NIO | epoll | linux | poll | selector
fp1203 发于 2011年07月12日 19:44 | 点击: 2411 | 展开摘要
最近花了些功夫在研究Java NIO的JDK源码,发现Selector的实现,除了在唤醒机制上做了手脚,主要依赖操作系统的实现,为了无负担的弄懂Selector,有必要研究一下操作系统是如何实现选择的。本文主要参考linux-2.6.10内核poll的实现。

本文可能会表现得很肤浅,高手们请直接略过,另外,本文所出现的“政府”字样,乃比喻性质的,或者就认为它是“清政府”好了,请相关人员不要曲解。

先从poll开刀,poll中文译“轮询”,非常贴切,不错,他就是干这个的。m

查看全文: http://www.udpwork.com/item/5547.html

+0  MySQL Conf 2011 slides recommendation

Tag: My Reading | mysql | Aspersa | benchmarking | checkpoint | forecasting mysql scalability | fusionIO | mysql checkpoint | MySQL Conf | PCI-E SSD | Performance Optimization
jametong 发于 2011年04月19日 12:18 | 点击: 3180 | 展开摘要
1. Linux and H/W optimizations for MySQL

对SSD (Intel X-25E) ,PCI-E SSD(FusionIO) 以及他们与MySQL,Linux,CPU(Intel Nehalem)之间的交互,以及SSD本身的内部机制都有深入的介绍.

a. SSD的读写机制如何

b. 不同配比的Reserve Space对读写性能的影响.

c. 不同的CPU对处理性能的影响.

d. Raid 对于SSD的性能影响.

e. 这些不同

查看全文: http://www.udpwork.com/item/4888.html

+0  Netty实现原理浅析

Tag: java | netty | nio framework
kafka0102 发于 2010年06月20日 04:21 | 点击: 3028 | 展开摘要
Netty是JBoss出品的高效的Java NIO开发框架,关于其使用,可参考我的另一篇文章 netty使用初步。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一些内容及图示也来自于Netty的文档,特此致谢。

1、总体结构

先放上一张漂亮的Netty总

查看全文: http://www.udpwork.com/item/1804.html

+1  Netty使用初步

Tag: java | netty | nio framework
kafka0102 发于 2010年06月20日 00:32 | 点击: 5578 | 展开摘要
1、简介

Java1.4提供了NIO使开发者可以使用Java编写高性能的服务端程序,但使用原生的NIO API就像Linux C中网络编程一样,还是需要做IO处理、协议处理等低层次工作。所以,就像C服务端程序大量使用libevent作为网络应用框架一样,Java社区也不断涌现出基于NIO的网络应用框架。在这其中,Jboss出品的Netty就是个中翘楚。Netty是个异步的事件驱动网络应用框架,具有高性能、高扩展性等特性。Netty提供了统一的底层协议接口,使得开发者

查看全文: http://www.udpwork.com/item/1802.html
|<<<12345>>>| 一共5页, 50条记录