探讨一下web服务器的设计,有没有更好的设计方法》的相关内容

RoR部署方案深度剖析

RoR的部署方案可谓五花八门,有Apache/Fastcgi方式的,有Nginx/Mongrel方式的,还有lighttpd/Fastcgi方式,也有人使用HAProxy/Mongrel,各种部署方式都是众说纷纭,让人搞不清楚哪种方式更好一些。我的这篇文章就是希望结合我们运营JavaEye网站一年多以来的经验(通过统计Rails的production.log,JavaEye网站目前每天处理超过70 ...
by robbin 2008-01-14 浏览 (8836) 回复 (16) 关键字: deployment

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 浏览 (25106) 回复 (55) 关键字: c++ libevent half-sync/half-async leader/follower 并发服务器

关于synchronized的疑问

synchronized是为了保证同一时间某方法或程序只被一个线程调用,但有一点疑惑。是不是有可能被同一程序不同用户同时调用的方法或程序(关系到数据存储或session保存的)都应该使用上synchronized呢? 可能说的不太清楚,让我举个例子吧 [code:1] public class A { void changeSession(String name) ...
by jaghuang 2004-04-09 浏览 (36688) 回复 (60) 关键字:

Ruby的伪线程

Ruby的Thread是伪线程,不管代码中写了多少个Thread.new,Ruby都只启动了一个线程去运行这些Thread的代码。 这样做的确使得Ruby的Thread很容易控制,程序也不容易产生类似死锁这类严重的线程问题。但是效率始终无法提高,因为在ruby进程中,实际上只有一个真实的线程在运行,同样的代码在那么多核或者多cpu的电脑上运行效率和单核cpu的电脑上的效率并不会相差多少。 ...
by jack 2006-10-28 浏览 (12932) 回复 (32) 关键字: ruby 线程

(转)线程池的介绍及简单实现

服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。 线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高 ...
by abs200311235 2008-06-10 浏览 (59) 回复 (0) 关键字:

Java多线程编程详解

线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 s ...
by programming 2008-01-23 浏览 (348) 回复 (0) 关键字:

关于进程和线程的一些问题

1、简述进程和线程的异同 答:进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Java程序代码。     线程是指进程中的一个执行流程,有时也 ...
by yaoAyao 2007-10-11 浏览 (612) 回复 (0) 关键字:

Java 理论与实践: 线程池与工作队列

Brian Goetz (brian@quiotix.com), 首席顾问, Quiotix Corp 2002 年 10 月 12 日贴在我们多线程 Java 编程论坛上最常见的问题之一是“怎样创建线程池?”。几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险 ...
by Jatula 2008-04-05 浏览 (148) 回复 (0) 关键字:

JAVA后台程序设计及UTIL.CONCURRENT包的应用

JAVA后台程序设计及UTIL.CONCURRENT包的应用何 恐摘要 : 在很多软件项目中,JAVA语言常常被用来开发后台服务程序。线程池技术是提高这类程序性能的一个重要手段。在实践中,该技术已经被广泛的使用。本文首先 对设计后台服务程序通常需要考虑的问题进行了基本的论述,随后介绍了JAVA线程池的原理、使用和其他一些相关问题,最后对功能强大的JAVA开放源码线 程池包util.concurre ...
by Jatula 2008-04-05 浏览 (185) 回复 (0) 关键字:

不胜其烦的网络爬虫

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)

轻量级web服务器

轻量级 Web 服务器 最近几年,市场上出现了很多有趣的 Web 服务器实现,包括 lighthttpd、litespeed 和 mongrel 等。这些 Web 服务器都宣称结合了性能、易管理性、可移植性、安全性和其他相关价值。下面的工程研究将调查轻量级 Web 服务器,以帮助您选择最可能满足下一个项目的技术需求的 Web 服务器。 “轻量级” Web 服务器,例如 lighthttpd、 li ...
by dogstar 2008-05-29 浏览 (319) 回复 (2)

google背后的分布式架构

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

c10k问题

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

MQ配置和编程最佳实践

对于MQ的使用,主要会涉及到MQ系统本身的配置和MQ应用程序的开发两方面的工作。为了帮助大家更好地使用MQ,本文将就MQ配置和编程中的一些注意事项和技巧与大家探讨,并希望与大家分享这方面的一些最佳实践(Best Practice)。 第一部分:有关MQ对象配置的最佳实践 对于MQ系统配置,我们要规划MQ通讯网络,确定系统的拓扑结构,确定各种对象的属性和命名规则并创建所需的各种对象等,首先,我们 ...
by IBM文章编辑 2007-08-07 浏览 (2079) 回复 (0)

SPProcPool 0.5 发布

SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。 在 0.5 版中增加了一个类似 apache worker 的服务器模型。在之前 Leader/Follower 模型的基础上,在每个子进程中使用一个固定大小的线程池来为每个请求服务。这个模型的特点是能够支持较高的并发连接数。 项目主页: http://code.google.com/p/spp ...
by iunknown 2008-01-05 浏览 (355) 回复 (0) 关键字: 进程池 prefork

Google应用引擎(AppEngine)初窥

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

PHP语言创造者Gutmans炮轰Java已经输掉Web之战

PHP 3之后的主要语言开发者、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,应该全面拥抱标准的动态语言。 由于Gutmans的特殊地位,他的这篇长文已经在技术界引发了强烈争议。参见其blog上和TSS上的讨论1,2。 下面是对全文的一个编译版本,基本反映了原貌。其中对多核环境 ...
by turing 2008-04-13 浏览 (8764) 回复 (57) 关键字: php

推荐知识库条目

Comming soon