关于高性能网络应用的研究总结》的相关内容

SPServer : 一个基于线程池(包括HAHS和LF)的高并发 server 框架

spserver 是一个实现了半同步/半异步(Half-Sync/Half-Async)和领导者/追随者(Leader/Follower) 模式的服务器框架,能够简化 TCP server 的开发工作。 spserver 使用 c++ 实现,目前实现了以下功能: 1.封装了 TCP server 中接受连接的功能; 2.使用非阻塞型I/O和事件驱动模型,由主线程负责处理所有 TCP 连接上的数据读 ...
by iunknown 2007-03-14 浏览 (25104) 回复 (55) 关键字: c++ libevent half-sync/half-async leader/follower 并发服务器

来说说epoll+线程池

最近在作学习epoll,也看了很多的资料,关于epoll的原理就不多说了,很简单,需要注意的是,如果仅仅的采用epoll来处理网络服务器的话,感觉性能不会提高太大,毕竟io的处理相对于epoll或者poll的检测来说,时间消耗是比较多的。这个话说得可能比较的绕口,简单说就是你每次的epoll_wait所花费的时间,相对于你得到事件后所作的read,write==花费的时间要少狠多,至少我感觉是这样 ...
by 关中刀客 2008-05-03 浏览 (893) 回复 (8) 关键字: 技术专题

质疑 apache和yaws的性能比较(必看)

http://www.sics.se/~joe/apachevsyaws.html 上比较yaws的性能 显示apache 4000就挂了 但是yaws 8w还在挺着。 见附件的图 但是你仔细看下他的测试方式 What do we measure and how? We use a 16 node cluster running at SICS. We plot throughput vs ...
by mryufeng 2007-07-31 浏览 (23549) 回复 (41) 关键字: apache yaws erlang web服务器 比较

IOCP技术讨论

albert_qhd 写道 是我没说明白,sorry 这里有两个问题: 1、HRM如何主动调用 2、OA提供怎么的接口供别人调用 对于第一个问题,按我的理解,SOA应该是个系统架构,应该包括类似BPM的东东。这样的话,你就可以配置一下接口使HRM主动调用。 第二个问题,OA系统提供web service接口。别的系统就可以很方便的调用了 悉 不知道你用的数据库是什么, 如果是oracle, 这 ...
by yyanghhong 2004-09-19 浏览 (8543) 回复 (18) 关键字:

Linux下的服务器开发模型 Epoll和AIO的讨论

知道Boost中的AIO模型库是使用Epoll实现的,请看下面的讨论!应该很有帮助的,文章概论了几乎所有开发模型的效率! 1: EPOLL!=AIO 我只是说Boost的网络库在linux下是用linux的epoll实现的 ACE中有ACE_POSIX_AIOCB_Proactor和ACE_Dev_Poll_Reactor,分别用aio和epoll实现,这是2个不同的东西 ...
by famoushz 2007-06-13 浏览 (682) 回复 (0) 关键字:

转载:异步IO、APC、IO完成端口、线程池与高性能服务器之一 异步IO

背景:轮询 PIO DMA 中断     早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。     随着CPU性能的迅速提高,这种效率低下的工作方式浪费了大量的CPU ...
by famoushz 2007-06-13 浏览 (377) 回复 (0) 关键字:

socket 模型简介

共同点: ServerSocket serverSocket = new ServerSocket(80); sokcet s = serverSocket.accept(); 区别: 1 原始:(线程池) 每来一个请求分配新的一个线程来处理,继续等待下一个请求,这个过程中每一个线程一直等待数据的到来。这种情况导致随并发量多 线程数增加,系统消耗比较大 2 select(2个线程) ...
by qsky 2007-11-27 浏览 (331) 回复 (1) 关键字: socket 线程模型

高性能的HTTP引擎—— Grizzly(一) NIO简介

NIO简介 作为Java EE Web层面的最前端,HTTP引擎是负责接收客户请求的最开始的部分,这部分的性能在很大程度上决定了整个Java EE产品的性能和可扩展性。回顾现有的J2EE产品,大部分的HTTP引擎都不是用纯Java编写的。例如,Sun的JES应用服务器内置了一个用本地语言(C/C++)开发Web服务器,JBoss的Web Server也不是纯Java的,它使用了大量与平台相关的运行 ...
by sasion 2008-03-20 浏览 (190) 回复 (0) 关键字:

使用Java NIO编写高性能的服务器

从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。 说来惭愧,直到JDK1 ...
by tenyears 2006-12-24 浏览 (3162) 回复 (2) 关键字: Java NIO

c10k问题

The C10K problem 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问题。随着互联网的迅速发展,越来越多的网络服务开始面临C10K问题,作为大型 网站的开发人员有 ...
by dogstar 2008-05-29 浏览 (290) 回复 (1)

打算把DTwisted开放出来

从twisted移植了一些接口过来,稍作了些简化,暂命名为DTwisted。在google code上申请了项目,却一直连接不上。 关于它的历史,可以看这里: D语言和python的差异 基本上编写它只有3天,加起来大概5小时吧,所以还很简陋,只实现了listen tcp,代码也只有400多行。文档和注释都没有写,因为中间架构修改太多了,现在基本上定型。协议打算采用BSD,我也不是很熟悉,好 ...
by qiezi 2007-01-11 浏览 (1420) 回复 (14)

google背后的分布式架构

Google背后的分布式计算架构策略 Google是与众不同的。它的独特不仅仅表现于革新的思维和充满创意的应用 (比如那个大堂里的地球模型),更在于其有别常规的IT策略……   加利福尼亚州山景城(Mountain View)Google公司(Google,下称Google)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与Google地球(Google Earth)相仿的世界地图,一个转动 ...
by dogstar 2008-05-29 浏览 (998) 回复 (0)

如何处理大量并发连接的超时

最近用epoll实现了一个reactor架构的网络框架,利用epoll的一些特性,实现了Reactor/LFReactor/HSHAReactor。Reactor是单线程的;LFReactor利用epoll_wait允许多个线程调用的特点,多个线程排队不用线程锁就可以完成;只有HSHAReactor使用了一个同步队列,测试性能也还不错。 另一个一直在犹豫的功能没加进去,就是连接超时。由于TCP本 ...
by qiezi 2007-08-08 浏览 (711) 回复 (2)

不胜其烦的网络爬虫

JavaEye网站最近一周以来,被网络爬虫频频光顾,已经封锁了包括微软的一个C段地址,百度的一个IP地址,以及若干不知名的网页爬虫和RSS爬虫。现在把这些导致JavaEye网站访问速度严重变慢的IP地址予以曝光,以惩效尤。 引用iptables -A INPUT -i eth0 -j DROP -p tcp --dport 80 -s 58.61.164.0/24 iptables -A INP ...
by robbin 2007-04-28 浏览 (9913) 回复 (75)

Google应用引擎(AppEngine)初窥

首先声明的是我没有写过AppEngine的应用,我们只是在文档中探索,也许你能找到你感兴趣的东西。 任何把你限制在某台机器的时代将过去。AppEngine没有磁盘访问,没有线程,没有超级用户,没有系统命令调用,什么都没有,除了基于服务的访问。服务就是一切,因为可以通过装载平衡等幕后的一些手段来升级服务,而不需要程序的安装或者补丁等。 使用CGI接口并没有错,这个应用容器世界有着和CGI类似的特 ...
by levis2000 2008-04-10 浏览 (1728) 回复 (0) 关键字: google appengine

db4o 7.0 beta版已经对Java社区开放!!!

db4o 7.0的beta已经在Java社区发布了。最终发行版还得等到2008年第一季度,在这之前。NET版本的也会推出。新的版本增加或增强了如下特性:透明激活,新的缓存机制,更出色的异常处理,唯一性约束以及Client/Server模式构架增强。 1. 透明激活:仅仅加载应用程序所需要的最小对象树(而不是全部取出),提高了性能。 当然db4j保存的是一个对象树,它包含了一组对象的引用。尽管当对 ...
by kyo100900 2007-11-26 浏览 (354) 回复 (0) 关键字: db4o, object database

推荐知识库条目

Comming soon